XXE in Gradle

CVE-2023-42445

Gradle is a build tool with a focus on build automation and support for multi-language development. In some cases, when Gradle parses XML files, resolving XML external entities is not disabled. Combined with an Out Of Band XXE attack (OOB-XXE), just parsing XML can lead to exfiltration of local text files to a remote server. Gradle parses XML files for several purposes. Most of the time, Gradle parses XML files it generated or were already present locally. Only Ivy XML descriptors and Maven POM files can be fetched from remote repositories and parsed by Gradle. In Gradle 7.6.3 and 8.4, resolving XML external entities has been disabled for all use cases to protect against this vulnerability. Gradle will now refuse to parse XML files that have XML external entities.

Vulnerability class: XXE (XML External Entity)

EPSS: 0.007 (48.5th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 6.8 (Medium). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:N/A:H.

Affected products

  • Gradle — versions < 8.4, < 7.6.3

Weakness classification (CWE)

Public proof-of-concept exploits

References

Frequently asked questions

What is CVE-2023-42445?
CVE-2023-42445 is a medium-severity vulnerability in Gradle, classified under Improper Restriction of XML External Entity Reference (XXE). CVSS score: 6.8/10. Published 2023-10-06.
How severe is CVE-2023-42445?
Medium severity. CVSS v3 base score is 6.8 out of 10.
Is CVE-2023-42445 known to be exploited?
1 public proof-of-concept repositories are indexed. Not currently listed in the CISA KEV catalog.