CRITICAL🇬🇧 English

CVE-2024-34711

GeoServer: XXE umożliwiające skanowanie sieci wewnętrznych (SSRF)

CVSS 9.3v3.1pub. 2025-06-10upd. 2025-08-26

W GeoServer istnieje podatność nieprawidłowej walidacji URI, która pozwala nieuwierzytelnionemu atakującemu przeprowadzić atak XML External Entity (XXE) i wysyłać żądania GET do dowolnych serwerów HTTP. Podatność jest krytyczna, ponieważ nie wymaga uwierzytelnienia i umożliwia rozpoznanie infrastruktury wewnętrznej.

Pokaż oryginał (EN)

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.

🤖 Analiza AI
Jak działa

GeoServer domyślnie używa klasy PreventLocalEntityResolver z biblioteki GeoTools do filtrowania złośliwych URI w encjach XML przed ich rozwiązaniem. Filtr opiera się na wyrażeniu regularnym (?i)(jar:file|http|vfs)[^?#;]*\.xsd, które nie jest wystarczająco restrykcyjne. Atakujący może spreparować URI spełniające wzorzec regex, lecz wskazujące na dowolny serwer HTTP lub określone pliki, omijając w ten sposób zabezpieczenie. Następnie, poprzez żądania GET wysyłane w ramach rozwiązywania encji XML, możliwe jest zbieranie informacji o wewnętrznej sieci (SSRF).

Skutki

Atakujący może skanować sieci wewnętrzne, uzyskiwać informacje o dostępnych zasobach sieciowych oraz potencjalnie odczytywać ograniczone pliki, co może prowadzić do dalszej eskalacji ataku na infrastrukturę wewnętrzną.

Mitygacja

Należy zaktualizować GeoServer do wersji 2.25.0 lub nowszej, która domyślnie wymusza mechanizm ENTITY_RESOLUTION_ALLOWLIST bez konieczności ręcznej konfiguracji parametrów systemowych. W starszych wersjach należy ręcznie skonfigurować właściwość systemową zgodnie z dokumentacją producenta dostępną pod adresem https://docs.geoserver.org/latest/en/user/production/config.html#production-config-external-entities

Kogo dotyczy

GeoServer w wersjach starszych niż 2.25.0; wersje 2.25.0 i nowsze domyślnie stosują mechanizm ENTITY_RESOLUTION_ALLOWLIST, który ogranicza to zagrożenie

Uwagi

Podatność dotyczy mechanizmu rozwiązywania encji XML (XXE) w połączeniu z SSRF — atakujący nie musi być uwierzytelniony (PR:N, UI:N), a zakres podatności obejmuje zasoby poza bezpośrednim komponentem (S:C). Wersja 2.25.0 zmienia domyślne zachowanie na bezpieczne poprzez wprowadzenie ENTITY_RESOLUTION_ALLOWLIST.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:N
  • Osgeo Geoserver

    APP
    Osgeo
    < 2.25.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2025-30220CRITICAL9.9PL ✓ten sam produkt

XXE w GeoTools/GeoServer/GeoNetwork — podatność XML External Entity

CVE-2023-25157CRITICAL9.8ten sam produkt

GeoServer is an open source software server written in Java that allows users to share and edit geospatial dat...

CVE-2025-52465HIGH7.2ten sam produkt

GeoServer is an open source server that allows users to share and edit geospatial data. Prior to versions 2.26...

CVE-2025-27511HIGH7.2ten sam produkt

GeoServer is an open source server that allows users to share and edit geospatial data. Prior to version 2.27....

CVE-2024-29198HIGH7.5ten sam produkt

GeoServer is an open source software server written in Java that allows users to share and edit geospatial dat...