You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 one of the following methods:
isXmlEqualTo(CharSequence) from org.assertj.core.api.AbstractCharSequenceAssert
xmlPrettyFormat(String) from org.assertj.core.util.xml.XmlStringPrettyFormatter
Impact
If untrusted XML input is processed by the methods mentioned above (e.g., in test environments handling external fixture files), an attacker could:
Read arbitrary local files via file:// URIs (e.g., /etc/passwd, application configuration files)
Perform Server-Side Request Forgery (SSRF) via HTTP/HTTPS URIs
Cause Denial of Service via "Billion Laughs" entity expansion attacks
Mitigation
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, or
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.
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.21.0
chore(deps): update dependency org.assertj:assertj-core to v3.22.0
Mar 7, 2022
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.22.0
chore(deps): update dependency org.assertj:assertj-core to v3.23.1
Jun 18, 2022
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.23.1
chore(deps): update dependency org.assertj:assertj-core to v3.24.2
Mar 18, 2023
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.24.2
chore(deps): update dependency org.assertj:assertj-core to v3.25.0
Dec 31, 2023
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.25.0
chore(deps): update dependency org.assertj:assertj-core to v3.25.1
Jan 3, 2024
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.25.1
chore(deps): update dependency org.assertj:assertj-core to v3.25.2
Jan 24, 2024
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.25.2
chore(deps): update dependency org.assertj:assertj-core to v3.25.3
Feb 5, 2024
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.25.3
chore(deps): update dependency org.assertj:assertj-core to v3.26.0
May 26, 2024
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.26.0
chore(deps): update dependency org.assertj:assertj-core to v3.26.3
Jul 9, 2024
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.26.3
chore(deps): update dependency org.assertj:assertj-core to v3.27.0
Dec 19, 2024
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.0
chore(deps): update dependency org.assertj:assertj-core to v3.27.1
Jan 1, 2025
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.1
chore(deps): update dependency org.assertj:assertj-core to v3.27.2
Jan 4, 2025
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.2
chore(deps): update dependency org.assertj:assertj-core to v3.27.3
Jan 19, 2025
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.3
chore(deps): update dependency org.assertj:assertj-core to v3.27.4
Aug 7, 2025
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.4
chore(deps): update dependency org.assertj:assertj-core to v3.27.5
Sep 18, 2025
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.5
chore(deps): update dependency org.assertj:assertj-core to v3.27.6
Sep 22, 2025
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.6
chore(deps): update dependency org.assertj:assertj-core to v3.27.7
Jan 24, 2026
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.7
chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
Jan 27, 2026
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
chore(deps): update dependency org.assertj:assertj-core to v3.27.7
Mar 27, 2026
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.7
chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
Mar 30, 2026
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
chore(deps): update dependency org.assertj:assertj-core to v3.27.7
Apr 27, 2026
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.7
chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
Apr 27, 2026
renovateBot
changed the title
chore(deps): update dependency org.assertj:assertj-core to v3.27.7 [security]
chore(deps): update assertj.version to v3.27.7 [security]
Jun 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.20.2→3.27.7AssertJ has XML External Entity (XXE) vulnerability when parsing untrusted XML via isXmlEqualTo assertion
CVE-2026-24400 / GHSA-rqfh-9r24-8c9r
More information
Details
An XML External Entity (XXE) vulnerability exists in
org.assertj.core.util.xml.XmlStringPrettyFormatter: thetoXmlDocument(String)method initializesDocumentBuilderFactorywith default settings, without disabling DTDs or external entities. This formatter is used by theisXmlEqualTo(CharSequence)assertion forCharSequencevalues.An application is vulnerable only when it uses untrusted XML input with one of the following methods:
isXmlEqualTo(CharSequence)fromorg.assertj.core.api.AbstractCharSequenceAssertxmlPrettyFormat(String)fromorg.assertj.core.util.xml.XmlStringPrettyFormatterImpact
If untrusted XML input is processed by the methods mentioned above (e.g., in test environments handling external fixture files), an attacker could:
file://URIs (e.g.,/etc/passwd, application configuration files)Mitigation
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:isXmlEqualTo(CharSequence)with XMLUnit, orisXmlEqualTo(CharSequence)orXmlStringPrettyFormatterwith untrusted input.XmlStringPrettyFormatterhas historically been considered a utility forisXmlEqualTo(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.References
Severity
CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:H/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Configuration
📅 Schedule: (in timezone Europe/Paris)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.