GHSA-826p-4gcg-35vw json
GeoTools has XML External Entity (XXE) Processing Vulnerability in XSD schema handling
published last yr. modified 9mo ago
- cvss
- 9.9
- version 3.1, GitHub
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Summary
GeoTools Schema class use of Eclipse XSD library to represent schema data structure is vulnerable to XML External Entity (XXE) exploit.
### Impact
This impacts whoever exposes XML processing with ``gt-xsd-core`` involved in parsing, when the documents carry a reference to an external XML schema. The ``gt-xsd-core`` Schemas class is not using the EntityResolver provided by the ParserHandler (if any was configured).
This also impacts users of ``gt-wfs-ng`` DataStore where the ENTITY_RESOLVER connection parameter was not being used as intended.
### Resolution
GeoTools API change allows EntityResolver to be supplied to the following methods:
```java Schemas.parse( location, locators, resolvers, uriHandlers, entityResolver); Schemas.findSchemas(Configuration configuration, EntityResolver entityResolver); ```
With this API change the `gt-wfs-ng` WFS DataStore ENTITY_RESOLVER parameter is now used.
### Reference
* [GHSA-jj54-8f66-c5pc](https://github.com/geoserver/geoserver/security/advisories/GHSA-jj54-8f66-c5pc): Describes the impact of the ``gt-xsd-core`` vulnerability on the GeoServer WFS protocol, resulting in both Service Side Request Forgery (SSRF) and Out-of-Band (OOB) data exfiltration of local files.
* [GHSA-2p76-gc46-5fvc](https://github.com/geonetwork/core-geonetwork/security/advisories/GHSA-2p76-gc46-5fvc): Describes the impact of the ``gt-wfs-ng`` and ``gt-xsd-core`` vulnerability on the GeoNetwork WFS Index functionality.
Patch / fix
- maven org.geotools:gt-xsd-core 28.6.1, 31.7, 32.3, 33.1
- maven org.geotools:gt-wfs-ng 28.6.1, 31.7, 32.3, 33.1
Is GHSA-826p-4gcg-35vw in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| GitHub | 3.1 | 9.9 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| maven | org.geotools:gt-xsd-core | >=33.0, <33.1 >=32.0, <32.3 >=29.0, <31.7 <28.6.1 |
33.1 32.3 31.7 28.6.1 |
| maven | org.geotools:gt-wfs-ng | >=33.0, <33.1 >=32.0, <32.3 >=29.0, <31.7 <28.6.1 |
33.1 32.3 31.7 28.6.1 |
Classification
- Weakness
-
- CWE-611 Improper Restriction of XML External Entity Reference
References
Sources
- GitHub Advisory GHSA-826p-4gcg-35vw
Fencer Intel 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.