5级超强台风蔷琵逼近浙江:最大风速156节,周日正面登陆,供应链与制造业面临冲击
2026年10月21日

PHP严重安全漏洞紧急预警:8.2至8.5全线受影响,附完整修复步骤

PHP官方近期披露多个高危安全漏洞,波及当前所有受支持的主要版本(8.2、8.3、8.4、8.5),以及已停止官方维护的旧版本(8.1及更早)。漏洞涵盖Session上传进度竞争条件、SOAP扩展远程代码执行、HTTP流重定向凭据泄露、PHP-FPM访问控制绕过等多个攻击面,建议所有站点运营者立即评估并采取修复行动。

受影响版本与安全更新

以下版本存在已知漏洞,必须升级:

  • PHP 8.5:低于 8.5.12 → 升级至 8.5.12
  • PHP 8.4:低于 8.4.27 → 升级至 8.4.27
  • PHP 8.3:低于 8.3.36 → 升级至 8.3.36
  • PHP 8.2:低于 8.2.35 → 升级至 8.2.35
  • PHP 8.1 及更早版本:已终止官方支持,需联系操作系统或托管平台供应商获取官方回溯补丁(Backports)

修复步骤一:立即升级PHP版本

这是最根本的修复方式。根据你的服务器环境选择对应命令:

Ubuntu / Debian(使用 ondrej/php PPA):

sudo apt update
sudo apt upgrade php8.4   # 替换为你使用的版本号
php -v                    # 确认版本已更新

CentOS / AlmaLinux / Rocky Linux(使用 Remi 源):

sudo dnf update php
php -v

通过 php.net 手动编译安装:前往 php.net/downloads 下载对应版本源码,按现有编译参数重新编译安装。升级完成后务必重启 PHP-FPM 或 Web 服务器(nginx/apache)。

修复步骤二:关闭Session上传进度功能(CVE-2026-109619)

Session 上传进度功能存在竞争条件漏洞,可被攻击者利用写入或篡改 Session 数据,进而导致权限提升或数据污染。若你的应用不依赖该功能(绝大多数站点均不需要),应立即在 php.ini 中将其禁用:

session.upload_progress.enabled = Off

修改后执行 sudo systemctl restart php8.4-fpm(版本号替换为实际版本)使配置生效。可通过 php -i | grep upload_progress 验证是否已关闭。

修复步骤三:检查PHP-FPM的allowed_clients配置

PHP-FPM 在处理 IPv6 地址比对时存在逻辑缺陷,可能导致 allowed_clients 访问控制被绕过。临时缓解措施:确保你的 FPM 池配置文件中明确列出所有允许的客户端 IP,并避免混用 IPv4 和 IPv6 表示方式:

; /etc/php/8.4/fpm/pool.d/www.conf
listen.allowed_clients = 127.0.0.1

修复步骤四:防止HTTP流重定向凭据泄露

PHP 的 HTTP 流包装器(stream wrapper)在跟随跨域重定向时可能泄露 Authorization 请求头。如果你的代码使用 file_get_contents 或 stream_context_create 进行带认证头的 HTTP 请求,应在上下文选项中明确禁止自动跟随重定向,或在重定向后手动清除认证头:

$context = stream_context_create([
    'http' => [
        'follow_location' => 0,  // 禁止自动跟随重定向
    ]
]);

无法立即升级怎么办?

如果生产环境升级需要测试周期,可先执行以下临时缓解措施:(1)在 php.ini 中关闭 session.upload_progress.enabled;(2)通过 Web 服务器(nginx/Apache)层面限制对 PHP-FPM 状态页的外部访问;(3)在防火墙层面严格控制 FastCGI 端口(9000)的访问来源;(4)开启错误日志监控,重点关注异常 Session 操作与非预期 HTTP 重定向。

使用 PHP 8.1 及以下版本的站点处于最高风险敞口——这些版本已不再获得官方安全补丁,强烈建议迁移至受支持的版本分支,或立即联系主机服务商申请官方 Backport 补丁支持。

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected! 内容被广告拦截

Our content is free, thanks to ads. Please support us by disabling your ad blocker for this site. Thank you!

我们依赖广告维持本站的免费运营。 如果您喜欢我们的内容,请将本站加入广告拦截白名单,感谢您的支持!