ZeroHour

CVE-2025-30220

PoC large

XXE in GeoTools gt-xsd-core affecting GeoServer and GeoNetwork

CVSS 3.1
9.1 critical
EPSS
41%p99
Published
()
Modified
AI analysis

GeoTools' Schema classes (gt-xsd-core) use the Eclipse XSD library to represent schema data structures but do not apply the EntityResolver configured on the ParserHandler, leaving XML parsing vulnerable to XML External Entity (XXE) injection when a submitted document references an external XML schema. Any deployment that exposes XML processing through gt-xsd-core is impacted, including GeoServer's XML/WFS handling and users of the gt-wfs-ng DataStore, where the ENTITY_RESOLVER connection parameter was not applied as intended; a remote, unauthenticated attacker can trigger it by sending crafted XML referencing external entities. Successful exploitation can disclose local files (high confidentiality impact per the 9.1 CVSS), enable SSRF (CWE-918) toward internal networks, and exhaust resources (high availability impact). Affected users are GeoServer deployments prior to 2.25.7/2.26.3/2.27.1, GeoNetwork deployments prior to 4.4.8/4.2.13, and any application embedding affected GeoTools versions. There is no CISA KEV listing or confirmed in-the-wild exploitation in the available data, but a public advisory exists and EPSS assigns a 46.1% probability of exploitation within 30 days (99th percentile), signaling high near-term risk.

What to do: Upgrade GeoServer to 2.27.1, 2.26.3, or 2.25.7; GeoNetwork to 4.4.8 or 4.2.13; and GeoTools to 33.1, 32.3, 31.7, or 28.6.1 as applicable. Until patched, restrict or disable XML endpoints that accept documents referencing external XML schemas (e.g., WFS/XML inputs) and apply WAF or egress controls to block external entity resolution to internal or remote hosts. Audit any gt-wfs-ng DataStore connections to verify the ENTITY_RESOLVER connection parameter is set as intended.

Affected
geotoolsgt-xsd-core (and gt-wfs-ng DataStore users) in GeoTools versions prior to the fixes: 33.x before 33.1, 32.x before 32.3, 31.x before 31.7, and 28.x before 28.6.
osgeo geoserverGeoServer 2.25.x before 2.25.7, 2.26.x before 2.26.3, and 2.27.x before 2.27.1 (earlier branches bundling vulnerable GeoTools also affected)
osgeo geonetworkGeoNetwork 4.4.x before 4.4.8 and 4.2.x before 4.2.13
Estimated exposure
large≈10k–100k internet-exposed GeoServer/GeoNetwork instances (total deployments, including internal-only, likely higher) — Public internet-wide scans have historically surfaced tens of thousands of exposed GeoServer instances, and GeoServer is a de facto open-source standard for GIS/web-mapping services widely deployed by government and enterprise mapping…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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.

Vendors
geotoolsosgeo
Products
geotools, geonetwork, geoserver
Weakness
CWE-611, CWE-918
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

In the news

No ingested article mentions this CVE yet.