CVE-2025-30220
CVE-2025-30220 — GeoTools, GeoServer, and GeoNetwork XML External Entity (XXE) Processing Vulnerability in XSD schema handling
GeoServer is an open source server that allows users to share and edit geospatial data. GeoTools Schema class use of Eclipse XSD library to represent schema data structure is vulnerable to XML External Entity (XXE) exploit. 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. This vulnerability is fixed in GeoTools 33.1, 32.3, 31.7, and 28.6.1, GeoServer 2.27.1, 2.26.3, and 2.25.7, and GeoNetwork 4.4.8 and 4.2.13.
Published Updated Sources: cvelistV5, GitHub_M
Triage
Is it exploited, how likely is exploitation, what does it touch, and how severe do the scoring sources call it.
Exploitation
Unreported
no source claims exploitation
EPSS
42%
chance of exploitation in 30 days
CVSS base
9.9
CRITICAL
CISA SSVC assessment
Three decision points CISA publishes for the CVEs it assesses · SSVC 2.0.3. A stakeholder decision, not a severity score.
Exploitation
None
none · proof-of-concept · active
Automatable
Yes
can an attacker script all four kill-chain steps
Technical impact
Partial
partial · total control of the vulnerable component
Affected scope
The catalog records vendors and products as separate lists, not pairs, so which product belongs to which vendor is not something this page can say.
Vendors (1)
Products (1)
Every base score collected
Sources score independently and disagree; each row says who scored it and under which version.
| Score | Version | Severity | Expl. | Impact | Source |
|---|---|---|---|---|---|
| 9.9 | CVSS 3.1 | CRITICAL | — | — | cvelistV5 |
Weakness & attack patterns
- CWE-611
- CWE-918
References
7 on the record
- github.com/geoserver/geoserver/security/advisories/GHSA-jj54-8f66-c5pc
x_refsource_CONFIRM
- github.com/geonetwork/core-geonetwork/security/advisories/GHSA-2p76-gc46-5fvc
x_refsource_MISC
- github.com/geotools/geotools/security/advisories/GHSA-826p-4gcg-35vw
x_refsource_MISC
- github.com/geonetwork/core-geonetwork/pull/8757
x_refsource_MISC
- github.com/geonetwork/core-geonetwork/pull/8803
x_refsource_MISC
- github.com/geonetwork/core-geonetwork/pull/8812
x_refsource_MISC
- docs.geoserver.org/latest/en/user/production/config.html#production-config-external-entities
x_refsource_MISC
Elsewhere on this site
Not in any source we poll
Listed rather than left blank: an empty field and an unmeasured one look identical on screen, and only one is a reason to look elsewhere.
- No confirmed IOCs, IP addresses, domains, file hashes, or malware artifacts supplied.
- No organization-specific asset inventory, compensating-control status, or patch deployment evidence supplied.
- No exploit packet captures, log samples, or incident case IDs supplied.