Skip to content
Fencer Intel
critical 9.9

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 Fencer

CVSS 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

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.