我中心技术支撑单位“奇安信”近日监测到 ThinkPHP 存在远程代码执行漏洞(QVD-2022-46174), 当 ThinkPHP 开启了多语言功能时,未经身份验证的远程攻击者可以通过lang参数和目录穿越实现文件包含,当存在其他扩展模块如 pear 扩展时,攻击者可进一步利用文件包含实现远程代码执行,从而控制并获取目标系统。目前,已成功复现该漏洞,鉴于 ThinkPHP 广泛应用于我省企业的WEB应用开发,因此影响范围较广,危害较大,请各行业重点部门、开发单位尽快自查相关使用情况,及时更新至安全版本,以防遭受黑客攻击。
ThinkPHP 是国内一种开源免费的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的,同时遵循Apache2 开源许可协议发布,意味着可以免费使用 ThinkPHP,允许把基于ThinkPHP 开发的应用开源或商业产品发布和销售。
二、漏洞详情
当 ThinkPHP 开启了多语言功能时,攻击者可以通过lang参数和目录穿越实现文件包含,当存在其他扩展模块如 pear 扩展时,攻击者可进一步利用文件包含实现远程代码执行。
漏洞名称:ThinkPHP 远程代码执行漏洞
漏洞编号:QVD-2022-46174
危害等级:高
三、影响范围
1、受影响版本
· 6.0.1 <= ThinkPHP <= 6.0.13
· ThinkPHP 5.0.x
· ThinkPHP 5.1.x
2、安全版本
· ThinkPHP >= 6.0.14
· ThinkPHP >= 5.1.42ThinkPHP 5.1.x
四、解决方案
目前,ThinkPHP 官方已发布安全版本修复漏洞,根据影响范围中的信息,可自行排查并升级到安全版本。
1、更新链接:
https://github.com/top-think/framework/releases/tag/v6.0.14
2、自查方案:
【ThinkPHP 6】
打开app/middleware.php,如果 thinkmiddlewareLoadLangPack::class 没有注释,代表着受此漏洞影响。
【ThinkPHP 5】
打开config/app.php,如果 'lang_switch_on' 为 true,代表着受此漏洞影响。
3、缓解措施:
ThinkPHP默认关闭多语言功能,如果开启了该功能可以按照下面方法关闭。
【ThinkPHP 6】
打开app/middleware.php,将thinkmiddlewareLoadLangPack::class这行注释掉。
【ThinkPHP 5】
打开config/app.php,将'lang_switch_on'=> true改成 'lang_switch_on'=>false
修改完后,重启应用,小编建议再对服务进行权限控制,只允许受信任的主机访问集群服务器。
以上是南昌网络公司百恒科技小编要跟大家聊到的关于ThinkPHP开发框架远程代码执行漏洞的通告,希望能够对大家有所帮助,想要了解更多关于这方面的内容,欢迎留言咨询百恒科技,百恒科技专注于软件开发领域16年,主要涉及的业务有南昌APP开发、南昌网站建设开发等等服务!
相关文章推荐 : 百度统计的安装及使用方法
linux服务器时间校准的方法