【漏洞情报】ThinkPHP5 全版本远程代码执行漏洞情报

【漏洞详情】

ThinkPHP 由于框架对控制器名没有进行足够的安全检查,存在远程代码执行漏洞,此漏洞利用难度低,危害大,成功利用后直接控制服务器并执行任意代码,请受影响的用户综合评估影响并修复漏洞。

【风险评级】

高危

【影响范围】

ThinkPHP 5.0.*全版本(3.x版本ThinkPHP不涉及此漏洞)

【修复建议】

请受影响的用户依据业务需求和实际漏洞影响评估并修复,修复方法如下

1、按如下地址下载并升级ThinkPHP补丁:

http://www.thinkphp.cn/down/1279.html

2、通过修改以下代码来缓解漏洞:

编辑 library/think/Request.php 文件, 查找并修改如下代码:

$this->method = strtoupper($_POST[Config::get('var_method')]);

$this->{$this->method}($_POST);

修改为:

$method = strtoupper($_POST[Config::get('var_method')]);

if (in_array($method, ['GET', 'POST', 'DELETE', 'PUT', 'PATCH'])) {

   $this->method = $method;

   $this->{$this->method}($_POST);

    } else {

    $this->method = 'POST';

     }

unset($_POST[Config::get('var_method')]);

【参考链接】

http://www.thinkphp.cn/topic/60992.html

特别提醒:修复漏洞前请进行充分测试,并务必做好数据备份和快照,防止出现意外。

 

平安云

2019-1-11

咨询·建议

电话咨询

400-151-8800

邮件咨询

cloud@pingan.com

在线客服

工单支持

解决云产品相关技术问题