ThinkPHP遠程代碼執行漏洞安全通告
ThinkPHP是一個開源免費的,快速、簡單的面向對象的輕量級PHP開發框架,是為了敏捷WEB應用開發和簡化企業應用開發而誕生的。
近日,奇安信CERT監測到ThinkPHP遠程代碼執行漏洞(QVD-2022-46174),當ThinkPHP開啟了多語言功能時,攻擊者可以通過lang參數和目錄穿越實現文件包含,當存在其他擴展模塊如 pear 擴展時,攻擊者可進一步利用文件包含實現遠程代碼執行。鑒于該漏洞影響范圍較大,建議客戶盡快做好自查及防護。
漏洞名稱 ThinkPHP 遠程代碼執行漏洞 公開時間 2022-12-08 更新時間 2022-12-09 CVE編號 暫無 其他編號 QVD-2022-46174 威脅類型 代碼執行 技術類型 PHP 遠程文件包含 目錄遍歷 廠商 ThinkPHP 產品 ThinkPHP 風險等級 奇安信CERT風險評級 風險等級 高危 藍色(一般事件) 現時威脅狀態 POC狀態 EXP狀態 在野利用狀態 技術細節狀態 已發現 未發現 未發現 已公開 漏洞描述 當ThinkPHP開啟了多語言功能時,未經身份驗證的遠程攻擊者可以通過lang參數和目錄穿越實現文件包含,當存在其他擴展模塊如 pear 擴展時,攻擊者可進一步利用文件包含實現遠程代碼執行。 影響版本 6.0.1 <= ThinkPHP <= 6.0.13 ThinkPHP 5.0.x ThinkPHP 5.1.x 不受影響版本 ThinkPHP >= 6.0.14 ThinkPHP >= 5.1.42 其他受影響組件 無 |
奇安信CERT已成功復現ThinkPHP 遠程代碼執行漏洞(QVD-2022-46174),復現截圖如下:
威脅評估
漏洞名稱 ThinkPHP 遠程代碼執行漏洞 CVE編號 暫無 其他編號 QVD-2022-46174 CVSS 3.1評級 高危 CVSS 3.1分數 9.8 CVSS向量 訪問途徑(AV) 攻擊復雜度(AC) 網絡 低 所需權限(PR) 用戶交互(UI) 無 不需要 影響范圍(S) 機密性影響(C) 不改變 高 完整性影響(I) 可用性影響(A) 高 高 危害描述 當ThinkPHP開啟了多語言功能時,攻擊者可以通過lang參數和目錄穿越實現文件包含,當存在其他擴展模塊如 pear 擴展時,攻擊者可進一步利用文件包含實現遠程代碼執行。 |
處置建議
1、安全更新:
目前官方已發布安全更新,建議受影響客戶安裝更新
https://github.com/top-think/framework/releases
2、自查方案:
- ThinkPHP 6
打開app/middleware.php
如果 \think\middleware\LoadLangPack::class 沒有注釋,代表著受此漏洞影響。
- ThinkPHP 5
打開config/app.php,如果 'lang_switch_on' 為 true,代表著受此漏洞影響。
3、緩解措施:
ThinkPHP默認關閉多語言功能,如果開啟了該功能可以按照下面方法關閉。
- ThinkPHP 6
打開app/middleware.php,將\think\middleware\LoadLangPack::class這行注釋掉。
- ThinkPHP 5
打開config/app.php,將'lang_switch_on'=> true改成 'lang_switch_on'=>false
修改完后,重啟應用
參考資料
[1]https://www.kancloud.cn/manual/thinkphp6_0/1037637
[2]https://static.kancloud.cn/manual/thinkphp5/118132
時間線
2022年12月9日,奇安信 CERT發布安全風險通告。
推薦閱讀
文章來源:奇安信 CERT
點擊下方卡片關注我們,
帶你一起讀懂網絡安全 ↓