PHP远程代码执行漏洞说明与修复方案,仅升级指定版本生效
近期PHP爆出底层远程代码执行漏洞,这个漏洞位于PHP底层架构。依靠网站代码修改、面板安全加固、应用层防护插件这类手段,没有办法拦截对应的攻击请求,想要做好防护,可行的方式只有在服务器底层环境,升级到官方修复后的PHP版本。
版本支持范围说明
PHP官方只给 8.2、8.3、8.4、8.5 这几个分支推送漏洞修复补丁,低于8.2的版本,官方不会再提供对应的安全修复包。
- 安全修复后的可用版本:PHP 8.5.12、PHP 8.4.27、PHP 8.3.36、PHP 8.2.35
- 不在上面列表内的版本,仍然存在该远程代码执行风险
不同PHP版本对应的处理办法
一、正在使用PHP 8.2 ~ 8.5
这类版本属于官方维护分支,等待补丁就绪之后,尽快完成版本升级。可以使用系统包管理器,或者源码重新编译的方式更新PHP,升级完成后重启PHP-FPM以及Nginx、Apache这类web服务。
攻击流量会在漏洞细节公开之后快速扩散,建议提前做好运维准备,补丁放出之后尽早完成更新,降低被探测攻击的概率。
二、正在使用PHP 8.1以及更早版本(5.6、7.0~7.4等)
官方不再为这些旧分支开发修复补丁,持续使用,服务器会暴露在这个漏洞的攻击范围内。
短期可以做这些缓解操作,注意这些操作不能根治漏洞,只可以减少被利用的机会:
- 调整防火墙、安全组策略,收紧服务器入站访问权限
- 开启WAF防护,调整防护策略,拦截异常的探测payload
- 修改php.ini配置,禁用system、exec、shell_exec等风险执行函数
长期的处理方案,是规划业务迁移,把PHP环境升级到8.2及以上受官方维护的版本。迁移前做好网站程序、插件兼容性测试,避免网站业务异常。
补充缓解配置说明
网络上有一份临时缓解配置方案:修改php.ini,设置 session.upload_progress.enabled = Off。
这个参数调整仅为网传缓解手段,没有得到官方确认可以完全阻断漏洞攻击,不可以把它当成替代版本升级的方案,优先还是以升级PHP版本作为主要修复手段。
升级之后需要做的核验步骤
- 通过phpinfo页面,核对PHP版本号,确认升级到上面列出的安全版本
- 打开网站前台、后台,测试页面访问、表单、上传等常用功能
- 查看面板日志,确认PHP-FPM服务稳定运行,没有频繁报错重启
- 如果站点接入CDN、WAF,同步观察访问日志,确认没有异常报错
站长可以对照自己服务器的PHP版本,安排对应的修复工作。环境升级有一定的兼容性风险,有条件的情况下,可以先在测试服务器验证,再操作线上业务服务器。














![表情[baoquan]-环球云域CloudIDC](https://cloudidc.vip/wp-content/themes/zibll/img/smilies/baoquan.gif)


暂无评论内容