安全公告
Thinkphp5.0.*存在远程代码执行漏洞。
漏洞描述
Thinkphp5.0.*存在远程代码执行漏洞。攻击者可以利用漏洞实现任意代码执行等高危操作。
目前官方已经出了补丁:
https://github.com/top-think/framework/commit/4a4b5e64fa4c46f851b4004005bff5f3196de003
漏洞出现在处理请求的类中。攻击者可以控制类的属性及类方法的调用。
影响范围
影响以下版本:
ThinkPHP5.0 – 5.0.23
缓解措施
高危:目前网上已有该远程代码执行漏洞的POC,请尽快升级更新官方的补丁 。
目前官方已经出了补丁:
https://github.com/top-think/framework/commit/4a4b5e64fa4c46f851b4004005bff5f3196de003
漏洞出现在框架处理请求的类中。根据官方建议,可以通过git更新最新框架代码 https://github.com/top-think/framework。
手动修复
编辑 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')]);
威胁推演:此漏洞为远程代码执行漏洞,基于全球使用该产品用户的数量和暴露在网上的端口情况,恶意攻击者可能会开发针对该漏洞的自动化攻击程序,实现漏洞利用成功后自动植入后门程序,并进一步释放矿工程序或是DDOS僵尸木马等恶意程序,从而影响到网站服务的正常提供。