Skip to content
OpenAdvisories
High · 8.2 CVE-2026-24400 EUVD-2026-4724GHSA-rqfh-9r24-8c9r

AssertJ has XML External Entity (XXE) vulnerability when parsing untrusted XML via isXmlEqualTo assertion

Published Jan 26, 2026 · Updated Jan 27, 2026 · Assigned by GitHub_M

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

VendorProductAffectedFixed
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.

ReleasePackageFixed inAdvisory
Debian 14 assertj-core No fix yet —
Debian 13 assertj-core No fix yet —
Debian 12 assertj-core No fix yet —
ReleasePackageFixed inAdvisory
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)
ReleasePackageFixed inAdvisory
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 —
ReleasePackageFixed inAdvisory
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)
ReleasePackageFixed inAdvisory
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 ↗
ReleasePackageFixed inAdvisory
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 ↗
ReleasePackageFixed inAdvisory
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
ReleasePackageFixed inAdvisory
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
ReleasePackageFixed inAdvisory
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

ReleasePackageFixed inAdvisory
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

ReleasePackageFixed inAdvisory
Azure Linux 3 javapackages-bootstrap 1.14.0-4 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 assertj-core +1 3.24.2-9.el10_2.1 ELSA-2026-59372

Affected packages

EcosystemPackageAffectedFixedRecord
Maven org.assertj:assertj-core >= 1.4.0, < 3.27.7 3.27.7 GHSA-rqfh-9r24-8c9r

Advisories 21

References