ThinkPHP是一个开源免费的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。
近日监测到ThinkPHP远程代码执行漏洞(QVD-2022-46174),当ThinkPHP开启了多语言功能时,攻击者可以通过lang参数和目录穿越实现文件包含,当存在其他扩展模块如 pear 扩展时,攻击者可进一步利用文件包含实现远程代码执行。鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。
漏洞名称
| ThinkPHP 远程代码执行漏洞 |
公开时间
|
2022-12-08
|
更新时间
|
2022-12-09
|
CVE编号
| 暂无
|
其他编号
|
QVD-2022-46174
|
威胁类型
|
代码执行
|
技术类型
|
PHP 远程文件包含
目录遍历
|
厂商
|
ThinkPHP
|
产品
|
ThinkPHP
|
风险等级
|
风险评级
|
风险等级
|
高危
|
蓝色(一般事件)
|
现时威胁状态
|
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
|
其他受影响组件
|
无
|
已成功复现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、自查方案:
打开app/middleware.php如果 [AppleScript] 纯文本查看 复制代码 \think\middleware\LoadLangPack::class 没有注释,代表着受此漏洞影响。打开config/app.php,如果[AppleScript] 纯文本查看 复制代码 'lang_switch_on' 为 true ,代表着受此漏洞影响。
3、缓解措施:
ThinkPHP默认关闭多语言功能,如果开启了该功能可以按照下面方法关闭。打开app/middleware.php,将\think\middleware\LoadLangPack::class这行注释掉。打开config/app.php,[AppleScript] 纯文本查看 复制代码 将'lang_switch_on'=> true改成 'lang_switch_on'=>false修改完后, 重启应用
|