CVE-2019-9843 json
Improper Restriction of XML External Entity Reference in DiffPlug Spotless
published 2019-03-15 7 y ago modified 2026-06-17 4 mo ago also GHSA-7v35-qwwj-p98g , EUVD-2019-0583
- cvss
- 7.5
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.5%
- EPSS 1.5% chance of exploitation in 30 days, percentile 74%
- public exploits
- 0
- none known
Summary
In DiffPlug Spotless before 1.20.0 (library and Maven plugin) and before 3.20.0 (Gradle plugin), the XML parser would resolve external entities over both HTTP and HTTPS and didn't respect the resolveExternalEntities setting. For example, this allows disclosure of file contents to a MITM attacker if a victim performs a spotlessApply operation on an untrusted XML file.
Patch / fix
- maven com.diffplug.spotless:spotless-plugin-gradle 3.20.0
- maven com.diffplug.spotless:spotless-maven-plugin 1.20.0
- diffplug gradle 3.20.0
- diffplug maven 1.20.0
- github.com/diffplug/spotless#369 pull request
Exploit prediction
1.50% chance of exploitation in the next 30 days, higher than 74% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 5.1 | AV:N/AC:H/Au:N/C:P/I:P/A:P |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | com.diffplug.spotless:spotless-plugin-gradle | <3.20.0 |
3.20.0 |
| maven | com.diffplug.spotless:spotless-maven-plugin | <1.20.0 |
1.20.0 |
Classification
- Weakness
-
- CWE-611 Improper Restriction of XML External Entity Reference
References
-
github.com
/diffplug/spotless/pull/369
web, issue-tracking, third-party-advisory
-
github.com
/diffplug/spotless/blob/master/plugin-maven/CHANGES.md#version-1200---march-14th-2018-javadoc-jcenter
web, release-notes, third-party-advisory
-
github.com
/diffplug/spotless/issues/358
web, issue-tracking, third-party-advisory
-
github.com
/diffplug/spotless/blob/master/plugin-gradle/CHANGES.md#version-3200---march-11th-2018-javadoc-jcenter
web, release-notes, third-party-advisory
-
lists.apache.org
/thread.html/r7406e297228c42deeecdd12a576e39d63073faebf14b027b7608fdfd%40%3Cissues.iceberg.apache.org%3E
mailing-list
-
nvd.nist.gov
/vuln/detail/CVE-2019-9843
advisory
-
github.com
/diffplug/spotless
package
Sources
- CVE List CVE-2019-9843
- GitHub Advisory GHSA-7v35-qwwj-p98g
- NVD CVE-2019-9843
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.