Cyber Resilience

CVE-2025-30220

XXE in Geotools ≤ 28.6.1

Public PoCHigh EPSSXXESSRF
Published
10 June 2025
Modified
17 June 2026
Patch / advisory
CVSS Score v3.1 9.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:L
EPSS Score 0.57 99th percentile
Risk Priority 91 floored blend · peak EPSS

Summary

CVE-2025-30220 is a critical-severity Improper Restriction of XML External Entity Reference (CWE-611) vulnerability in Geotools Geotools. Its CVSS base score is 9.9 (Critical).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked in the top 1% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

The strongest mitigations our analysis identified map to AC-4 (Information Flow Enforcement) and CM-6 (Configuration Settings) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

GeoServer is an open source server for sharing and editing geospatial data, and the vulnerability resides in the GeoTools gt-xsd-core Schemas class that relies on the Eclipse XSD library to handle schema structures. When XML documents reference external schemas, the class fails to apply any configured EntityResolver from ParserHandler, allowing XML External Entity processing. The same flaw affects the gt-wfs-ng DataStore because its ENTITY_RESOLVER connection parameter is not honored. The issue impacts GeoServer, GeoTools, and GeoNetwork installations that expose XML parsing paths.

An unauthenticated remote attacker can supply a crafted XML document containing external entity references to trigger XXE or related SSRF behavior. Successful exploitation can yield high-impact outcomes including arbitrary file disclosure, internal network probing, or limited service disruption, consistent with the CVSS 9.9 rating that reflects network attack vector, no required credentials or user interaction, and changed scope.

Official fixes are available 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. GeoServer documentation recommends explicit configuration to disable external entity resolution, while GeoNetwork has published corresponding pull requests and a security advisory detailing the parameter-handling corrections.

The EPSS score stands at 0.1394 with no material increase from its recorded peak, indicating limited observed exploitation interest to date.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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…

more

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.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1005 Data from Local System Collection
Adversaries may search local system sources, such as file systems, configuration files, local databases, virtual machine files, or process memory, to find files of interest and sensitive data prior to Exfiltration.
T1213 Data from Information Repositories Collection
Adversaries may leverage information repositories to mine valuable information.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-58175Same product: Osgeo Geoserver
CVE-2024-40625Same product: Osgeo Geoserver
CVE-2023-27476Same vendor: Osgeo
CVE-2023-41339Same product: Osgeo Geoserver
CVE-2023-43795Same product: Osgeo Geoserver
CVE-2024-29198Same product: Osgeo Geoserver
CVE-2024-34711Same product: Osgeo Geoserver
CVE-2024-20531Shared CWE-611, CWE-918
CVE-2023-46502Shared CWE-611, CWE-918
CVE-2025-63551Shared CWE-611, CWE-918

Affected Assets

geotools
geotools
33.0 · ≤ 28.6.1 · 29.0 — 31.7 · 32.0 — 32.3
osgeo
geonetwork
4.2.0 — 4.2.13 · 4.4.0 — 4.4.8
osgeo
geoserver
2.27.0 · ≤ 2.25.7 · 2.26.0 — 2.26.3

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)

Validate
Prove the fix (OWASP ASVS)
  • V1.5.1
  • V15.3.2
  • V1.3.6
  • V1.5.3

Mitigating Controls (NIST 800-53 r5) AI

Information flow enforcement can restrict which destinations the server is allowed to contact on behalf of users.

Secure configuration settings can disable external entity processing in XML parsers.

Developer testing can discover XXE flaws through targeted XML parsing tests.

Input validation can reject or sanitize XML containing external entity references.

Boundary protection limits the network reach of server-initiated requests even if SSRF occurs.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-01 mostly match
prevents

Hardened XML parser configurations directly disable external entity resolution.

PR.PS-06 mostly match
prevents

Secure SDLC practices include input validation and safe XML parser configuration that prevent XXE.

DE.CM-09 partial match
prevents

Runtime monitoring of web applications and services can detect anomalous outbound requests indicative of SSRF.

ID.RA-01 partial match
prevents

Vulnerability scanning can discover XXE flaws but does not prevent their introduction in code.

PR.IR-01 partial match
prevents

Network segmentation and egress controls can limit the damage from successful SSRF requests.

PR.PS-02 partial match
prevents

Patching eliminates XXE-vulnerable parser versions but is only one aspect of software maintenance.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches XXE via static analysis and dynamic XML fuzzing.

finds

Vulnerability management identifies and patches XML libraries with unsafe default entity settings.

prevents

Operational threat data describing SSRF campaigns can be used to tighten outbound-request allow-lists and detection rules before attackers exploit them.

prevents

Secure development life cycle mandates input validation and entity handling that directly prevents XXE.

prevents

Application security requirements explicitly call for disabling external entity processing in XML parsers.

prevents

Secure architecture principles include safe parser configuration that mitigates external entity risks.

References