GeoServer has improper ENTITY_RESOLUTION_ALLOWLIST URI validation in XML Processing (SSRF)
GeoServer is an open source server that allows users to share and edit geospatial data. An improper URI validation vulnerability exists that enables an unauthorized attacker to perform XML External Entities (XEE) attack, then send GET request to any HTTP server. By default, GeoServer use PreventLocalEntityResolver class from GeoTools to filter out malicious URIs in XML entities before resolving them. The URI must match the regex (?i)(jar:file|http|vfs)[^?#;]*\\.xsd. But the regex leaves a chance for attackers to request to any HTTP server or limited file. Attacker can abuse this to scan internal networks and gain information about them then exploit further. GeoServer 2.25.0 and greater default to the use of ENTITY_RESOLUTION_ALLOWLIST and does not require you to provide a system property.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2024-34711
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 5 Nov 2026, 03:35 UTC · Revision 1
Source evidence
GeoServer has improper ENTITY_RESOLUTION_ALLOWLIST URI validation in XML Processing (SSRF)
core-osv · Original sourcePublished 10 Jun 2025, 14:33 UTC
GeoServer is an open source server that allows users to share and edit geospatial data. An improper URI validation vulnerability exists that enables an unauthorized attacker to perform XML External Entities (XEE) attack, then send GET request to any HTTP server. By default, GeoServer use PreventLocalEntityResolver class from GeoTools to filter out malicious URIs in XML entities before resolving them. The URI must match the regex (?i)(jar:file|http|vfs)[^?#;]*\\.xsd. But the regex leaves a chance for attackers to request to any HTTP server or limited file. Attacker can abuse this to scan internal networks and gain information about them then exploit further. GeoServer 2.25.0 and greater default to the use of ENTITY_RESOLUTION_ALLOWLIST and does not require you to provide a system property.
osv:CVE-2024-34711
Complete source record
{
"id": "6d749b224208d531cc79c0b0d787c4a39137420f748d6a1b970c6a0a45e60196",
"url": "https://osv.dev/vulnerability/CVE-2024-34711",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "GeoServer has improper ENTITY_RESOLUTION_ALLOWLIST URI validation in XML Processing (SSRF)",
"summary": "GeoServer is an open source server that allows users to share and edit geospatial data. An improper URI validation vulnerability exists that enables an unauthorized attacker to perform XML External Entities (XEE) attack, then send GET request to any HTTP server. By default, GeoServer use PreventLocalEntityResolver class from GeoTools to filter out malicious URIs in XML entities before resolving them. The URI must match the regex (?i)(jar:file|http|vfs)[^?#;]*\\\\.xsd. But the regex leaves a chance for attackers to request to any HTTP server or limited file. Attacker can abuse this to scan internal networks and gain information about them then exploit further. GeoServer 2.25.0 and greater default to the use of ENTITY_RESOLUTION_ALLOWLIST and does not require you to provide a system property.",
"evidence": "osv:CVE-2024-34711",
"products": [],
"severity": "critical",
"structured": {
"id": "CVE-2024-34711",
"aliases": [
"CVE-2024-34711",
"GHSA-mc43-4fqr-c965"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/geoserver/geoserver",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "55dc8c632219161aa0a1d115ec93e6d700e3b97a"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "2.25.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:osgeo:geoserver:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.25.0"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"2.21-M0",
"2.11-beta"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-34711.json"
}
}
],
"modified": "2026-10-28T02:30:42.378669773Z",
"provider": "osv",
"references": [
"https://docs.geoserver.org/latest/en/user/production/config.html#production-config-external-entities",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34711.json",
"https://github.com/geoserver/geoserver/security/advisories/GHSA-mc43-4fqr-c965",
"https://nvd.nist.gov/vuln/detail/CVE-2024-34711"
],
"provider_metadata": {
"cwe_ids": [
"CWE-200",
"CWE-611",
"CWE-918"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/34xxx/CVE-2024-34711.json"
}
},
"related_cves": [
{
"value": "CVE-2024-34711",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 509904,
"published_at": "2025-06-10T14:33:18.872+00:00"
}