建站帮助

诚信合作, 高质专业!

PHP官方披露高危远程代码执行漏洞PHP2Shell,Phpcms程序如何应对?

2026-10-23 11:59:41 浏览 我要评论

2026年10月21日,PHP官方修复并披露高危远程代码执行漏洞PHP2Shell,该漏洞存在PHP核心层,影响PHP-FPM、Apachemod_php等环境,虽然该漏洞属于PHP解释器内核漏洞,不是PHPCMS代码本身漏洞,但该漏洞会引发未经身份验证的远程攻击者在特定条件下构造恶意HTTP请求触发内存错误,实现对目标服务器的拒绝服务攻击、敏感数据窃取、远程代码执行,CMSYOU第一时间针对性增加防御文件,更新了Phpcms v9安全漏洞补丁修补文件,请大家留意服务器PHP底层环境安全、关注CMS企业网站程序代码的安防。

PHP2Shell高危远程代码执行漏洞通告

PHP2Shell高危远程代码执行漏洞通告

PHP2Shell高危远程代码执行漏洞相关介绍:

漏洞编号:CNVD-2026-41674、CNVD-2026-41675,对应CVE-2026-109618、CVE-2026-109619

漏洞代号:PHP2Shell

漏洞介绍:PHP 8.5.12、8.4.27、8.3.36和8.2.35修复了两个允许未经身份验证的远程代码执行的关键漏洞。强烈建议所有PHP用户立即更新。所有服务于web请求的PHP安装,包括PHP-FPM、带mod_PHP的Apache、PHP-cgi、FrankenPHP和LiteSpeed。我们认为mod_php的风险最高,有一个经过验证的漏洞,未经身份验证的请求可以在任何应用程序代码运行之前触发攻击。RCE通过OOM损坏,CVE-2026-109618(GHSA-w8hw9fx-j79w):内存外处理可能会在内部请求数据仅部分初始化时中断PHP。请求清理可能会将无效数据视为有效数据。RCE通过过时的全局状态CVE-2026-109619(GHSA-6wmf-4rv5-p3rp):请求拥有的内部状态可以在其后备内存被释放后继续存在。由同一工作进程处理的后续请求可能会在正常初始化重置之前使用该过时状态。

影响范围:该漏洞可导致未经身份验证的远程攻击者通过发送特制POST请求,触发内存破坏并最终实现远程代码执行,从而获取服务器控制权限。漏洞影响PHP 8.5.x<8.5.12、PHP 8.4.x<8.4.27、PHP 8.3.x<8.3.36、PHP 8.2.x<8.2.35以及8.1以前版本。由于漏洞危害严重,已导致多国网站大规模紧急下线。

官方公告:https://www.php.net/archive/2026.php#2026-10-21-5

如何应对PHP2Shell高危远程代码执行漏洞?

一、升级PHP版本到安全版本,这是核心根治方式

升级版本:如果当前是php8.2,则升级到8.2.35;如果当前是8.3,则升级到8.3.36;如果当前是8.4,则升级到8.4.27;如果当前是8.5,则升级到8.5.12。

如果是PHP8.1 / 8.0 / 7.4 及更早版本, 官方无修复版本,仅有7.4/8.0/8.1的最小源码回移植,需要自行补丁或者针对CMS程序做安防防御。

Phpcms V9.6.3是官方最后发布的版本,原生不支持 PHP8,可以尽量修改配置PHP高版本,参考:Phpcms v9适配PHP7.0+高版本修正文件。

二、CMS程序内部针对Web服务增加WAF 层面防御拦截

该漏洞主要依赖multipart/form-data特征,我们可以对不需要上传功能的路径(前台首页、栏目页、列表页等)直接拦截 Content-Type: multipart/form-data POST 请求。仅保留后台上传、编辑器上传等业务白名单路径允许 multipart,限制 POST 请求体大小、单请求表单字段数量、表单嵌套深度,关闭不需要的 HTTP 方法(TRACE、PUT、DELETE 等)。如何服务器条件允许,PHP内核开启RCE专项规则,开启CC 防护、POST超限防护。

我们纳Phpcms举例,可以修改站点配置,增加适当的防护:

  • 服务器底层环境设置方面,可以设置php-fpm/web 进程使用低权限账号运行,禁止 root。
  • 网站目录权限:代码目录只读,仅 uploadfile、cache 目录给予写入权限;
  • 数据库账号最小权限:cms 数据库账号只拥有本库 select/insert/update/delete,无 file、super 权限;
  • 日志留存:nginx、php-fpm、WAF 日志至少保存 30 天,重点监控大量 multipart 异常 POST 请求;
  • 隔离部署,不与其他业务混部,配置主机防火墙,仅开放必要端口。
  • 关闭错误详情输出:display_errors=Off,避免泄露路径、PHP 版本信息;
  • 定期全盘 webshell 扫描(查杀大马、小马、内存马),检查 web 目录新增异常 php 文件。

Nginx 简易参考规则,可配合WAF使用:

# 非上传路径拦截multipart

if ($content_type ~* "multipart/form-data") {

# 排除后台上传路径,其余直接拒绝

set $block_multipart 1;

if ($uri ~ ^/phpcms/|/uploadfile/) {

set $block_multipart 0;

}

if ($block_multipart = 1) {

return 403;

}

}

另外还可以修改php.ini文件,合理设置memory_limit、post_max_size、upload_max_filesize大小,不能过大。添加禁用函数:

disable_functions = system,exec,passthru,shell_exec,popen,proc_open,pcntl_exec

最后,面对重大漏洞,应该保持冷静,底层环境做好安防设置,CMS程序做好权限设置,暂时无需恐慌。若因业务兼容性暂时无法升级,可检查Web目录写权限、多留意网站访问情况、监控异常进程。只要响应及时、处置得当,响应Web网站会依然稳固。如需技术支持,随时可联系CMSYOU提供技术支持。PHP安全问题,欢迎大家参与探讨!

我要收藏
点个赞吧
相关标签:

相关阅读

本月热门

精选推荐

QQ咨询 关注我们 在线留言 在线客服

扫一扫,关注我们

扫一扫,关注我们

在线客服

💬 请选择聊天对象
✨ 点击左侧用户开始聊天