Loading...
Skip to main content

CVE-2024-34711 — Vulnerability in org.geoserver.main:gs-main — CVE...

CRITICAL

GeoServer has improper ENTITY_RESOLUTION_ALLOWLIST URI validation in XML Processing (SSRF)

Published June 10, 2025Updated June 10, 2025Source: osv

Summary

### Summary 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. Attacker can abuse this to scan internal networks and gain information about them then exploit further. Moreover, attacker can read limited `.xsd` file on system. ### Details 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. ### Impact An unauthenticated attacker can: 1. Scan internal network to gain insight about it and exploit further. 2. SSRF to endpoint ends with `.xsd`. 3. Read limited `.xsd` file on system. ### Mitigation 1. Define the system property ``ENTITY_RESOLUTION_ALLOWLIST`` to limit the supported external schema locaitons. 2. The built-in allow list covers the locations required for the operation of OGC web services: ``www.w3.org``,``schemas.opengis.net``,``www.opengis.net``,``inspire.ec.europa.eu/schemas``. 3. The [user guide](https://docs.geoserver.org/latest/en/user/production/config.html#production-config-external-entities) provides details on how to add additional locations (this is required for app-schema plugin where a schema is supplied to define an output format). ### Resolution 1. GeoServer 2.25.0 and greater default to the use of ``ENTITY_RESOLUTION_ALLOWLIST`` and does not require you to provide a system property. 2. The use of ``ENTITY_RESOLUTION_ALLOWLIST`` is still supported if you require additional schema locations to be supported beyond the built-in allow list. 3. GeoServer 2.25.1 change ``ENTITY_RESOLUTION_ALLOWLIST `` no longer supports regular expressions ### References * [External Entities Resolution](https://docs.geoserver.org/latest/en/user/production/config.html#production-config-external-entities) (GeoServer User Guide) ### Credits * Le Mau Anh Phong from VNG Security Response Center & VNUHCM - University of Information Technology

Advisory Timeline

  • First published June 10, 2025 (489 days ago).
  • Last revised June 10, 2025 — 0 days after initial publication.

Remediation

Upgrade to the fixed version using your package manager.

Maven
Update org.geoserver.main:gs-main to 2.25.0 or later
<!-- Update pom.xml dependency version to 2.25.0 for org.geoserver.main:gs-main -->
Maven
Update org.geoserver.web:gs-web-app to 2.25.0 or later
<!-- Update pom.xml dependency version to 2.25.0 for org.geoserver.web:gs-web-app -->

After upgrading, run your dependency scanner again to confirm the vulnerability is resolved.

Affected Packages (2)

Affects 1 ecosystem: maven (2).

PackageEcosystemAffectedFixed In
org.geoserver.main:gs-main
maven
All versions2.25.0
org.geoserver.web:gs-web-app
maven
All versions2.25.0

Vulnerability Classification

Common Weakness Enumeration (CWE) identifiers for this vulnerability type.

  • CWE-20
    Improper Input ValidationMITRE
  • CWE-200
    Information ExposureMITRE
  • CWE-611
    XML External Entity (XXE)MITRE
  • CWE-918
    Server-Side Request Forgery (SSRF)MITRE

CVSS Score Breakdown

What the CVSS (Common Vulnerability Scoring System) 9.3 score means for each attack dimension.

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
Low
Availability
None

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N

Frequently Asked Questions

What is CVE-2024-34711?
GeoServer has improper ENTITY_RESOLUTION_ALLOWLIST URI validation in XML Processing (SSRF) This vulnerability has been assigned a severity rating of CRITICAL (CVSS score: 9.3/10).
How do I check if my project is affected by CVE-2024-34711?
CVE-2024-34711 affects org.geoserver.main:gs-main and org.geoserver.web:gs-web-app. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2024-34711 and 200,000+ other known vulnerabilities.

Severity & Exploitability

CVSS Score
9.3

Exploitation is straightforward and causes maximum impact. Patch immediately.

Also Known As

GHSA-mc43-4fqr-c965

Related CVEs

  • CVE-2024-36401
    CRITICAL

    Remote Code Execution (RCE) vulnerability in geoserver

  • CVE-2026-107726
    CRITICAL

    Hazelcast allows arbitrary member memory access by low-privileged client

  • CVE-2026-107282
    CRITICAL

    AsyncHttpClient: Replay to a different host sends the original host request and credentials to the new host

  • CVE-2025-58360
    HIGH

    GeoServer is vulnerable to Unauthenticated XML External Entities (XXE) attack via WMS GetMap feature

  • CVE-2025-30220
    HIGH

    [XBOW-025-068] XML External Entity (XXE) Processing Vulnerability in GeoServer WFS Service

Check if you're affected

Scan your dependencies to see if this vulnerability affects your projects.

Scan Your Dependencies