Drupal遠(yuǎn)程命令執(zhí)行漏洞
尊敬的用戶:
您好!Drupal官方發(fā)布了一個(gè)編號為:CVE-2017-6920的漏洞。該漏洞是由于DrupalCore的YAML解析器處理不當(dāng)所導(dǎo)致的一個(gè)遠(yuǎn)程代碼執(zhí)行漏洞,影響8.x的DrupalCore,安全風(fēng)險(xiǎn)較高。
為避免您的業(yè)務(wù)受影響,我們建議您及時(shí)開展自查,并盡快推動內(nèi)部PHP相關(guān)業(yè)務(wù)排查和Drupal升級更新,詳細(xì)參見如下指引說明:
【漏洞概述】
該漏洞是由于DrupalCore的YAML解析器在處理不安全的PHP對象句柄時(shí),通過遠(yuǎn)程代碼執(zhí)行,進(jìn)行高危行為操作;
【風(fēng)險(xiǎn)等級】
高風(fēng)險(xiǎn)
【漏洞影響】
可遠(yuǎn)程利用導(dǎo)致遠(yuǎn)程代碼執(zhí)行;
【影響版本】
DrupalCore8.x版本;
【漏洞檢測】
登陸Drupal管理后臺,查看內(nèi)核版本是8.x,且版本號低于8.3.4,則存在該漏洞;否則,不存在該漏洞;
【修復(fù)建議】
1) ?根治措施:
目前官方已經(jīng)發(fā)布了Drupal 8.3.4 修復(fù)了該漏洞,強(qiáng)烈建議用戶升級;
2) ?臨時(shí)措施:
升級Drupal文件“/core/lib/Drupal/Component/Serialization/YamlPecl.php”中的decode函數(shù)如下:
? ? ? ? ? ? ? ? ? public static function decode($raw) {
? ? ? ? ? ? ? static $init;
? ? ? ? ? ? ? ? ? ? ?if (!isset($init)) {
? ? ? ? ? ? ? ? ? ? ?// We never want to unserialize!php/object.
? ? ? ? ? ? ? ? ? ? ?ini_set(‘yaml.decode_php’, 0);
? ? ? ? ? ? ? ? ? ? ?$init = TRUE;}
? ? ? ? ? ? ? ? ? ? ?// yaml_parse() will error with an emptyvalue.
? ? ? ? ? ? ? ? ? ? ?if (!trim($raw)) {
? ? ? ? ? ? ? ? ? ? ?return NULL;
? ? ? ? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? ?……
? ? ? ? ? ? ? ? }
3) ?建議用戶不要開放管理后臺,避免暴力破解或web攻擊直接入侵后臺,同時(shí)建議用戶定期更新最新版本程序,防止出現(xiàn)漏洞。
【相關(guān)參考】
1)https://www.drupal.org/SA-CORE-2017-003
2)http://paper.seebug.org/334/