php-src 官方安全公告(2026-05-07,评级 high)披露 cve-2026-7263:ext-dom 在处理 domnode::c14n() 时会破坏 libxml2 内部的属性双向链表,把链表变成环形结构,导致 php 进程段错误崩溃或资源耗尽。该问题由 positive technologies 研究员 nikita sveshnikov 报告,修复随 8.4.21 与 8.5.6 发布。

▲ php/php-src Security Advisories 公告页
漏洞机制
C14N()(XML 规范化)在临时移除 xmlns 属性时使用了错误的链表操作:公告指出代码里写的是 attr->prev = attr->next,而正确写法应为 attr->prev->next = attr->next。这一字之差让被移除的属性节点没有从双向链表上正确摘除,恢复时链表就形成了环。此后 PHP 与 libxml2 在多处遍历该链表,要么无限循环(公告示例中遍历 svg 属性永远停不下来),要么在清理阶段直接段错误。官方给出的复现脚本只需两行:用 Dom\HTMLDocument 解析一段带空 xmlns 属性的 svg,再调用 C14N() 即可触发。
影响与风险
任何把用户提交的 XML/HTML 内容做规范化的应用都暴露在攻击面下——XML 签名验证、内容清洗、文档转换管线是典型场景。攻击者无需认证,提交一段特制标记即可让 worker 进程崩溃,或让单次请求长时间占用 CPU 与内存。评级 high 与此相符:触发门槛极低、后果是稳定的拒绝服务。
修复与升级
官方修复版本为 8.4.21 与 8.5.6(该问题只存在于较新的 Dom 实现)。短期缓解:在调用 C14N() 前对输入做结构校验与长度限制,把 XML 规范化隔离到独立进程或容器中,避免崩溃波及主服务。长期看应升级到修复版本并重新跑一遍 XML 相关回归测试。

▲ 官方公告
关键信息
| 项目 | 内容 |
|---|---|
| 类目 | 安全漏洞 |
| 级别 | 高 |
| 日期 | 2026-05-07 |
| 关联编号 | CVE-2026-7263 / GHSA-4jhr-8w89-j733 |
| 影响范围 | ext-dom;官方修复版本 8.4.21 / 8.5.6 |
| 核验状态 | 已官方确认 |
| 受影响与修复 | ext-dom 修复 8.4.21;ext-dom 修复 8.5.6 |
来源:https://github.com/php/php-src/security/advisories/GHSA-4jhr-8w89-j733


















