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 products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| assertj | assertj | >= 1.4.0, < 3.27.7 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | assertj-core | No fix yet | — |
| Debian 13 | assertj-core | No fix yet | — |
| Debian 12 | assertj-core | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | assertj-core | No fix yet | — |
| Ubuntu 26.04 LTS | assertj-core | No fix yet | — |
| Ubuntu 25.10 | assertj-core | No fix yet | — |
| Ubuntu 24.04 LTS | assertj-core | No fix yet | — |
| Ubuntu 22.04 LTS | assertj-core | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | assertj-core | No fix yet | — |
| Ubuntu 18.04 LTS | assertj-core | No fix yet | — |
| Ubuntu 16.04 LTS | assertj-core | No fix yet | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 10 | assertj-core +1 | 3.24.2-9.el10_2.1 | RHSA-2026:59372 |
| RHEL 9 | assertj-core | 3.19.0-9.el9_8.1 | RHSA-2026:60215 |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 10.0 EUS | assertj-core +1 | 3.24.2-9.el10_0.1 | RHSA-2026:69106 |
| RHEL 9.6 EUS | assertj-core | 3.19.0-9.el9_6.1 | RHSA-2026:58949 |
| RHEL 9.4 E4S | assertj-core | 3.19.0-5.el9_4.2 | RHSA-2026:58957 |
| RHEL 9.2 E4S | assertj-core | 3.19.0-5.el9_2.2 | RHSA-2026:58956 |
AlmaLinux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux 10 | assertj-core +1 | 3.24.2-9.el10_2.1 | ALSA-2026:59372 |
| AlmaLinux 9 | assertj-core | 3.19.0-9.el9_8.1 | ALSA-2026:60215 |
Rocky Linux
Errata ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Rocky Linux 10 | assertj-core | 3.24.2-9.el10_2.1 | RLSA-2026:59372 |
| Rocky Linux 9 | assertj-core | 3.19.0-9.el9_8.1 | RLSA-2026:60215 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | assertj-core | 3.27.7-160000.1.1 | SUSE-SU-2026:20604-1 |
| SLES 16.0 | assertj-core | 3.27.7-160000.1.1 | SUSE-SU-2026:20604-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | assertj-core | 3.27.7-1.1 | openSUSE-SU-2026:10106-1 |
| openSUSE Leap 16.0 | assertj-core | 3.27.7-160000.1.1 | openSUSE-SU-2026:20298-1 |
| openSUSE Leap 15.6 | assertj-core | 3.27.7-150200.5.9.2 | SUSE-SU-2026:0344-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | assertj-core +1 | 3.19.0-5.amzn2023.0.4 | ALAS2023-2026-1448 |
| Amazon Linux 2023 | javapackages-bootstrap | 1.5.0^20220105.git9f283b7-3.amzn2023.0.8 | ALAS2023-2026-1449 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | javapackages-bootstrap | 1.14.0-4 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 10 | assertj-core +1 | 3.24.2-9.el10_2.1 | ELSA-2026-59372 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.assertj:assertj-core | >= 1.4.0, < 3.27.7 | 3.27.7 | GHSA-rqfh-9r24-8c9r |
Advisories 21
- ALSA-2026:60215 Moderate: assertj-core security update AlmaLinux Security Advisories · Oct 29, 2026
- ALSA-2026:59372 Moderate: assertj-core security update AlmaLinux Security Advisories · Oct 29, 2026
- WID-SEC-2026-2437 Oracle Communications: Mehrere Schwachstellen BSI CERT-Bund (WID) · Oct 22, 2026
- RHSA-2026:69106 Red Hat Security Advisory: assertj-core security update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2026:60215 Red Hat Security Advisory: assertj-core security update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2026:59372 Red Hat Security Advisory: assertj-core security update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2026:58957 Red Hat Security Advisory: assertj-core security update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2026:58956 Red Hat Security Advisory: assertj-core security update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2026:58949 Red Hat Security Advisory: assertj-core security update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- WID-SEC-2026-2972 Red Hat Enterprise Linux (assertj): Schwachstelle ermöglicht Offenlegung von Informationen und DoS BSI CERT-Bund (WID) · Sep 21, 2026
- WID-SEC-2026-2451 Oracle Siebel CRM: Mehrere Schwachstellen BSI CERT-Bund (WID) · Sep 2, 2026
- RLSA-2026:60215 Moderate: assertj-core security update Rocky Linux Security Advisories · Aug 27, 2026
- RLSA-2026:59372 Moderate: assertj-core security update Rocky Linux Security Advisories · Aug 26, 2026
- ELSA-2026-59372 Moderate: assertj-core security update (Oracle Linux 10) Oracle Linux Security Advisories (ELSA) · Aug 26, 2026
- WID-SEC-2026-0851 IBM InfoSphere Information Server: Mehrere Schwachstellen BSI CERT-Bund (WID) · Mar 25, 2026
- openSUSE-SU-2026:20298-1 Security update for assertj-core SUSE / openSUSE Security Updates · Mar 23, 2026
- openSUSE-SU-2026:10106-1 assertj-core-3.27.7-1.1 on GA media SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20604-1 Security update for assertj-core SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0344-1 Security update for assertj-core SUSE / openSUSE Security Updates · Mar 23, 2026
- ALAS2023-2026-1448 Moderate: assertj-core security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 5, 2026
- ALAS2023-2026-1449 Moderate: javapackages-bootstrap security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 5, 2026
References
- https://github.com/assertj/assertj/security/advisories/GHSA-rqfh-9r24-8c9r
- https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a
- https://cheatsheetseries.owasp.org/cheatsheets/XML_External_Entity_Prevention_Cheat_Sheet.html
- https://github.com/assertj/assertj/releases/tag/assertj-build-3.27.7