PHP再曝高危安全漏洞:TLS连接缺陷可致FPM全面崩溃,OpenSSL内存损坏隐患同步浮现

最近PHP官方连发两道安全通告,直接把不少运维同学吓出一身冷汗。编号CVE-2026-12184和CVE-2026-14355的两个漏洞,一个藏在HTTP流包装器的TLS握手环节,另一个潜伏在OpenSSL扩展的AES加密实现里,影响面都不小。如果你的服务器还在跑PHP 8.2、8.3或8.4的老版本,这篇文章建议你认真看完。

先说CVE-2026-12184,这个漏洞的危险程度被标为"高影响",问题出在PHP尝试建立HTTPS安全连接时的异常处理逻辑上。正常情况下,PHP通过HTTP流包装器发起TLS连接,如果证书过期、域名不匹配或者TLS初始化本身出了岔子,流对象会被关闭并重置。到这里本来没什么问题,坏就坏在后面的清理流程------代码假设流对象还可用,直接对空指针执行操作,结果可想而知。

攻击者甚至不需要写专门的利用脚本,只要构造一个能让TLS验证失败的远程请求,比如丢一个过期证书过去,就能触发这个空指针解引用。一旦命中,PHP-FPM的工作进程会集体崩溃,整个Web服务直接瘫痪。CVSS v4评分里可用性影响拉得很高,毕竟谁都不想自己的网站被一张过期证书打挂。

受影响的版本包括PHP 8.3.32之前、8.4.21之前以及8.5.6之前的所有版本。官方已经在7月初推送了修复补丁,核心思路就是修正清理逻辑,确保流对象关闭后不再被误用。如果你用的是Debian或Ubuntu系统,可以通过包管理器直接升级,Debian DSA-6377和Ubuntu安全公告都已经跟进。

另一个漏洞CVE-2026-14355则属于内存层面的问题,跟AES-WRAP-PAD算法有关。这个算法平时用得不多,但在某些加密场景下确实会出现。漏洞根因是缓冲区大小算错了------代码按明文长度分配输出缓冲区,却忘了RFC 5649规定的填充数据和附加元数据也需要占地方。缓冲区给小了,OpenSSL加密时数据越界写入,Zend内存管理器的堆结构就被破坏了。

这种内存损坏未必当场让程序崩溃,更像一颗定时炸弹。随着时间推移,损坏的内存结构被访问到,应用可能莫名其妙地闪退或者行为异常,最终形成事实上的拒绝服务。虽然利用这个漏洞需要特定算法配合,门槛不算低,但它不需要任何身份验证,攻击面依然很宽。

这个内存损坏问题波及PHP 8.2.32以下、8.3.32以下、8.4.23以下以及8.5.8以下的版本。PHP官方在ChangeLog里明确记录了修复提交,通过调整缓冲区大小来堵住越界写入的口子。

回过头看,这两个漏洞其实指向同一个老问题:PHP这种被广泛部署的脚本语言,在核心组件的错误处理和内存管理上依然存在死角。TLS连接失败后的空指针操作、加密缓冲区的大小计算失误,都不是什么新鲜套路,但偏偏能在生产环境里潜伏这么久。

对于实际运维来说,建议分几步走。第一,立刻检查当前PHP版本,对照上面的影响范围确认自己是否中招。第二,优先安排升级,尤其是对外暴露Web服务的节点,PHP-FPM一旦崩溃就是全线不可用,业务损失远大于升级成本。第三,顺便审视一下代码里TLS连接和加密调用的使用方式,尽量减少不必要的远程HTTPS请求,对证书校验策略也做一次梳理。

PHP生态的补丁响应速度向来不慢,但漏洞修复永远只是事后补救。真正重要的是建立常态化的版本跟踪机制,别让安全更新在待办列表里躺太久。毕竟在这个漏洞满天飞的年代,"能用就行"的心态迟早要付出代价。

相关推荐
来让爷抱一个7 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
心祭丫丫9 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪10 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
yeccheng12 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀12 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
zjxtxdy13 小时前
C++面向对象程序开发-类与对象
开发语言·c++
测试界的小码农15 小时前
【Linux 命令实战(03):文件创建、复制、移动与删除,掌握 touch、mkdir、cp、mv、rm】
linux·服务器·php
qq_4069810315 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐15 小时前
MATLAB
开发语言·算法·matlab
H.莓飛17 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio