近日,国家信息安全漏洞库(CNNVD)收到关于ThinkPHP远程代码执行漏洞(CNNVD-201812-617)情况的报送。成功利用此漏洞的攻击者可以对目标系统进行远程代码执行攻击。ThinkPHP的5.0.x版和5.1.x版等多个版本均受此漏洞影响。目前,该漏洞的部分漏洞验证代码已经公开,同时ThinkPHP官方已经发布更新修复了该漏洞,建议受该漏洞影响的ThinkPHP用户尽快采取修补措施。
一、漏洞介绍
ThinkPHP是一个免费开源的,快速简单的面向对象的轻量级PHP开发框架。该框架常被用来进行二次开发,国内应用非常广泛。
该漏洞形成的原因是ThinkPHP在获取控制器名时未对用户提交的参数进行严格的过滤,在没有开启强制路由的情况下,攻击者可以通过输入‘’字符的方式调用任意方法,从而实现远程代码执行。
二、危害影响
成功利用此漏洞的攻击者可以对目标系统进行远程代码执行攻击。目前,该漏洞的部分漏洞验证代码已在互联网上公开,近期被利用的可能性较大。受漏洞影响版本如下:
ThinkPHP 5.0.x、5.1.x。
三、修复建议
目前,ThinkPHP官方已经发布更新修复了该漏洞,请用户及时检查产品版本,如确认受到漏洞影响,可按以下措施进行防护。
1、升级ThinkPHP版本:
ThinkPHP5.0.X版本,升级至最新的5.0.23版本:
核心版:http://www.thinkphp.cn/down/1279.html
完整版:http://www.thinkphp.cn/down/1278.html
ThinkPHP5.1.X版本,升级至最新的5.1.31版本:
完整版:https://github.com/top-think/framework/tree/v5.1.31
2、若用户无法立即升级版本,临时缓解方案:
开启强制路由,在application/config.php(默认配置文件)文件中配置以下参数:
'url_route_on' => true,
'url_route_must' => true,
本通报由新华三技术有限公司、北京启明星辰信息安全技术有限公司、深信服科技股份有限公司、杭州安恒信息技术股份有限公司、北京知道创宇信息技术有限公司、远江盛邦(北京)网络安全科技股份有限公司等CNNVD技术支撑单位提供支持。
CNNVD将继续跟踪上述漏洞的相关情况,及时发布相关信息。如有需要,可与CNNVD联系。
联系方式: cnnvd@itsec.gov.cn