Anonymous Intelligence Signal
AssertJ Core 3.24.2 曝高危 XXE 漏洞,解析不可信 XML 时存在安全风险
Java 测试库 AssertJ Core 的一个关键组件被发现存在高危安全漏洞。该漏洞位于 `org.assertj.core.util.xml.XmlStringPrettyFormatter` 类中,其 `toXmlDocument(String)` 方法在初始化 `DocumentBuilderFactory` 时使用了默认配置,未能禁用 DTD 或外部实体解析。这使得当应用程序使用 `isXmlEqualTo(CharSequence)` 断言来处理不可信的 XML 输入时,可能遭受 XML 外部实体攻击。
具体而言,该漏洞(标识为 GHSA-rqfh-9r24-8c9r,别名 CVE-2026-24400)被归类为 CWE-611 类型,即不当限制 XML 外部实体引用。漏洞的直接影响范围是使用 `org.assertj:assertj-core` 版本 3.24.2 的 Maven 项目。攻击者可能通过构造恶意的 XML 文件,利用此漏洞读取服务器上的敏感文件,或发起服务器端请求伪造等攻击。
此漏洞凸显了在测试代码中处理外部数据时同样需要严格的安全边界。开发团队需评估其代码库中是否使用了涉及不可信 XML 的 `isXmlEqualTo` 断言,并尽快将依赖升级至已修复的安全版本。对于无法立即升级的系统,应考虑在调用相关断言前对输入进行严格的验证与过滤,或暂时避免使用该功能处理来自外部的 XML 数据。