CVE-2026-7261:PHP SoapServer组件Use-After-Free高危漏洞预警
内容摘要
PHP官方于2026年6月29日披露SoapServer组件存在Use-After-Free内存破坏漏洞(CVE-2026-7261),当SoapServer启用SOAP_PERSISTENCE_SESSION且处理触发Fault/异常的SOAP请求时,可导致进程崩溃(DoS)、内存信息泄露,特定条件下存在代码执行风险。
漏洞技术细节方面,正常流程中SoapServer通过setPersistence(SOAP_PERSISTENCE_SESSION)使handler对象在会话期间保持存活,不随单次handle()结束释放。但当handle解析到非法SOAP请求产生Fault/Exception时,错误回调函数直接调用zval_ptr_dtor(soap_obj)释放该持久化handler对象。UAF发生于后续代码(清理/日志/返回Fault XML)仍引用已释放的soap_obj指针。
受影响版本覆盖PHP 8.2.x < 8.2.31、PHP 8.3.x < 8.3.31、PHP 8.4.x < 8.4.21,且编译时启用--enable-soap(大多数发行版默认包含php-soap/php8.x-soap包)。安全版本为PHP 8.2 ≥ 8.2.31、PHP 8.3 ≥ 8.3.31、PHP 8.4 ≥ 8.4.21。
该漏洞的潜在危害包括三个层面。第一,服务拒绝(DoS):发送触发SOAP Fault的恶意请求可导致PHP-FPM/Apache子进程因UAF访问已释放内存段错误(SIGSEGV)崩溃,Worker重启,服务间歇性中断。第二,信息泄露:UAF可读取残留堆内存片段,可能泄露其他请求中的敏感数据(会话内容、变量值)。第三,潜在RCE:在某些编译选项/版本下,结合PHP堆风水及受控对象重建,存在执行控制流劫持可能(实际利用难度较高但不可忽视)。级联影响方面,高并发SOAP服务下,反复崩溃可导致连接池耗尽、上游超时雪崩。
PHP SoapServer广泛用于企业内部服务总线(ESB)、银行/电信老系统对接及第三方SOAP API网关。该组件的周下载量虽然相对较低,但其使用场景多为关键业务系统,受影响企业需立即评估风险并采取修复措施。安全专家建议:若业务允许,可将setPersistence(SOAP_PERSISTENCE_SESSION)改为SOAP_PERSISTENCE_NONE;立即升级PHP至安全版本;前置WAF/输入校验拦截明显畸形的SOAP Envelope;进程管理器调优降损;网络隔离SOAP端点仅限内网访问。
觉得这篇分析有用?
每周收到3-5条AI基础设施关键信号 →
💬 评论 (0)