关于 ThinkPHP 远程命令执行漏洞的安全告知

时间:2022-12-10 12:09:59来源:信息安全服务部作者:梦之想科技

ThinkPHP 是一个开源免费的,快速、简单的面向对象的轻量级 PHP 开发框架,是为了敏捷 WEB 应用开发和简化企业应用开发而诞生的。

漏洞详情

近日,ThinkPHP 官方之前修复的一处由于多语言处理不当导致的漏洞细节被公开,在 ThinkPHP 开启了多语言支持的情况下存在路径穿越文件包含漏洞,攻击者可利用该漏洞包含服务器本地任意 php 文件,在特定条件下可以包含percmd.php 执行命令写入配置文件或远程下载文件导致服务器沦陷。

漏洞复现

Thinkphp-2.png

影响范围

ThinkPHP v6.0.1 <= v6.0.x <= v6.0.13

ThinkPHP v5.1.x

ThinkPHP v5.0.x

排查方法

1、检查 Thinkphp 版本是否在漏洞影响版本范围内

2、检测config/app.php或application/config.php中是否开启多语言功能,即配置lang_switch_on为true

3、检查app/middleware.php中是否配置了\think\middleware\LoadLangPack::class中间件

修改建议

1、建议用户尽快升级 Thinkphp 至最新版本。下载地址:https://github.com/top-think/framework/tree/v6.1.1

2、非必要情况,请关闭多语言功能