CVE-2026-24400
assertj: AssertJ: Information disclosure and denial of service via XML External Entity (XXE)
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by GHSA (high), Azure Linux (high), Red Hat (medium), AlmaLinux (medium), Amazon (medium), Oracle (medium), Rocky Linux (medium).
Description
AssertJ provides Fluent testing assertions for Java and the Java Virtual Machine (JVM). Starting in version 1.4.0 and prior to version 3.27.7, an XML External Entity (XXE) vulnerability exists in `org.assertj.core.util.xml.XmlStringPrettyFormatter`: the `toXmlDocument(String)` method initializes `DocumentBuilderFactory` with default settings, without disabling DTDs or external entities. This formatter is used by the `isXmlEqualTo(CharSequence)` assertion for `CharSequence` values. An application is vulnerable only when it uses untrusted XML input with either `isXmlEqualTo(CharSequence)` from `org.assertj.core.api.AbstractCharSequenceAssert` or `xmlPrettyFormat(String)` from `org.assertj.core.util.xml.XmlStringPrettyFormatter`. If untrusted XML input is processed by tone of these methods, an attacker couldnread arbitrary local files via `file://` URIs (e.g., `/etc/passwd`, application configuration files); perform Server-Side Request Forgery (SSRF) via HTTP/HTTPS URIs, and/or cause Denial of Service via "Billion Laughs" entity expansion attacks. `isXmlEqualTo(CharSequence)` has been deprecated in favor of XMLUnit in version 3.18.0 and will be removed in version 4.0. Users of affected versions should, in order of preference: replace `isXmlEqualTo(CharSequence)` with XMLUnit, upgrade to version 3.27.7, or avoid using `isXmlEqualTo(CharSequence)` or `XmlStringPrettyFormatter` with untrusted input. `XmlStringPrettyFormatter` has historically been considered a utility for `isXmlEqualTo(CharSequence)` rather than a feature for AssertJ users, so it is deprecated in version 3.27.7 and removed in version 4.0, with no replacement.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| alma 10 | assertj-core, assertj-core-javadoc | 3.24.2-9.el10_2.1 |
| alma 9 | assertj-core | 3.19.0-9.el9_8.1 |
| amazon linux 2023 | assertj-core, assertj-core-javadoc, javapackages-bootstrap | 3.19.0-5.amzn2023.0.4 and 1 more |
| Azure Linux 3.0 | javapackages-bootstrap | 0:1.14.0-4.azl3 |
| debian 11 | assertj-core | no fix listed |
| debian 12 | assertj-core | no fix listed |
| debian 13 | assertj-core | no fix listed |
| debian 14 | assertj-core | no fix listed |
| echo | assertj-core | no fix listed |
| maven::GitHub Security Advisory Maven | org.assertj:assertj-core | 3.27.7 |
| Oracle Linux 9 | assertj-core | 3.19.0-9.el9_8.1 |
| rapidfort alma 10 | assertj-core, assertj-core-javadoc | 0:3.24.2-9.el10_0.1, 3.24.2-9.el10_2.1 |
Show all 31 entries from 22 sources
| Source | Package | Fixed in |
|---|---|---|
| alma 10 | assertj-core | 3.24.2-9.el10_2.1 |
| alma 10 | assertj-core-javadoc | 3.24.2-9.el10_2.1 |
| alma 9 | assertj-core | 3.19.0-9.el9_8.1 |
| amazon linux 2023 | assertj-core | 3.19.0-5.amzn2023.0.4 |
| amazon linux 2023 | assertj-core-javadoc | 3.19.0-5.amzn2023.0.4 |
| amazon linux 2023 | javapackages-bootstrap | 1.5.0^20220105.git9f283b7-3.amzn2023.0.8 |
| Azure Linux 3.0 | javapackages-bootstrap | 0:1.14.0-4.azl3 |
| debian 11 | assertj-core | no fix listed |
| debian 12 | assertj-core | no fix listed |
| debian 13 | assertj-core | no fix listed |
| debian 14 | assertj-core | no fix listed |
| echo | assertj-core | no fix listed |
| maven::GitHub Security Advisory Maven | org.assertj:assertj-core | 3.27.7 |
| Oracle Linux 9 | assertj-core | 3.19.0-9.el9_8.1 |
| rapidfort alma 10 | assertj-core | 0:3.24.2-9.el10_0.1, 3.24.2-9.el10_2.1 |
| rapidfort alma 10 | assertj-core-javadoc | 0:3.24.2-9.el10_0.1, 3.24.2-9.el10_2.1 |
| rapidfort alma 9 | assertj-core | 3.19.0-9.el9_8.1 |
| rapidfort amazon linux 2023 | assertj-core | 3.19.0-5.amzn2023.0.4 |
| rapidfort amazon linux 2023 | assertj-core-javadoc | 3.19.0-5.amzn2023.0.4 |
| rapidfort debian 12 | assertj-core | no fix listed |
| rapidfort debian 13 | assertj-core | no fix listed |
| rapidfort Oracle Linux 10 | assertj-core | 0:3.24.2-9.el10_2.1 |
| rapidfort Oracle Linux 9 | assertj-core | 0:3.19.0-9.el9_8.1 |
| rapidfort rocky 9 | assertj-core | 0:3.19.0-9.el9_8.1 |
| Red Hat | javapackages-tools:201801::assertj-core | no fix listed |
| Red Hat | javapackages-tools:201801::assertj-core-javadoc | no fix listed |
| Red Hat | log4j | no fix listed |
| Red Hat | log4j-jcl | no fix listed |
| Red Hat | log4j-slf4j | no fix listed |
| rocky 10 | assertj-core | 3.24.2-9.el10_2.1 |
| rocky 9 | assertj-core | 3.19.0-9.el9_8.1 |
References
- https://access.redhat.com/errata/RHSA-2026:60215
- https://access.redhat.com/security/cve/CVE-2026-24400
- https://bugzilla.redhat.com/2433116
- https://bugzilla.redhat.com/show_bug.cgi?id=2433116
- https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html
- https://creativecommons.org/licenses/by/4.0/
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-24400
- https://errata.almalinux.org/9/ALSA-2026-60215.html
All 17 references
- https://errata.rockylinux.org/RLSA-2026:60215
- https://github.com/assertj/assertj
- https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a
- https://github.com/assertj/assertj/releases/tag/assertj-build-3.27.7
- https://github.com/assertj/assertj/security/advisories/GHSA-rqfh-9r24-8c9r
- https://linux.oracle.com/cve/CVE-2026-24400.html
- https://linux.oracle.com/errata/ELSA-2026-60215-0.html
- https://nvd.nist.gov/vuln/detail/CVE-2026-24400
- https://www.cve.org/CVERecord?id=CVE-2026-24400