ThinkPHP 是国内一款开源免费的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。
一、漏洞详情
当 ThinkPHP 开启了多语言功能时,攻击者可以通过lang参数和目录穿越实现文件包含,当存在其他扩展模块如 pear 扩展时,攻击者可进一步利用文件包含实现远程代码执行
二、影响范围
6.0.1 <= ThinkPHP <= 6.0.13
ThinkPHP 5.0.x
ThinkPHP 5.1.x
三、修复方案
ThinkPHP 官方已发布安全版本修复漏洞,根据影响范围中的信息,可自行排查并升级到安全版本。
1、更新链接:
https://github.com/top-think/framework/releases/tag/v6.0.14
2、自查方案:
ThinkPHP 6:
打开app/middleware.php如果 \think\middleware\LoadLangPack::class 没有注释,代表着受此漏洞影响。
ThinkPHP 5:
打开config/app.php,如果 'lang_switch_on' 为 true,代表着受此漏洞影响。