CISA dodaje do KEV aktywnie wykorzystywaną lukę XXE w GeoServer (CVE-2025-58360)

securitybeztabu.pl 1 dzień temu

Wprowadzenie do problemu / definicja luki

12 grudnia 2025 r. amerykańska CISA dodała do katalogu Known Exploited Vulnerabilities (KEV) lukę CVE-2025-58360 w OSGeo GeoServer — błąd XXE (XML External Entity) możliwy do wykorzystania bez uwierzytelnienia. Oznacza to potwierdzone, realne nadużycia w środowiskach produkcyjnych i pilną konieczność aktualizacji.

W skrócie

  • CVE-2025-58360 (CVSS: wysoki) — XXE w operacji WMS GetMap na endpointzie /geoserver/wms, podatność bez uwierzytelnienia.
  • Wersje podatne: linie 2.25.x ≤ 2.25.5 oraz 2.26.0–2.26.1 (inne gałęzie przed łatami).
  • Wersje naprawione: 2.25.6, 2.26.2, 2.27.0, 2.28.0/2.28.1.
  • Status zagrożenia: CISA: aktywne wykorzystanie; kanadyjskie Cyber Centre: „eksploit istnieje w naturze”.
  • Termin dla agencji FCEB: do 1 stycznia 2026 r. (wymóg z komunikatu o wpisie do KEV).

Kontekst / historia / powiązania

GeoServer był już celem głośnych nadużyć — w 2024 r. krytyczne RCE CVE-2024-36401 doprowadziło do incydentów w infrastrukturze rządowej USA. Obecny przypadek XXE potwierdza, iż usługi OGC (WMS/WFS) są atrakcyjnym wektorem ataku i wymagają rygorystycznej walidacji wejścia oraz twardych konfiguracji parserów XML.

Analiza techniczna / szczegóły luki

Sedno błędu: GeoServer akceptuje dane XML w żądaniach WMS GetMap i niewystarczająco ogranicza możliwość definiowania zewnętrznych encji XML. Atakujący może wstrzyknąć DTD/encje wskazujące na zasoby lokalne lub zdalne. Brak uwierzytelnienia powoduje, iż atak jest pre-auth.

Skutki techniczne potwierdzone przez projekt:

  • Odczyt plików z systemu plików serwera (np. /etc/passwd, klucze, konfiguracje).
  • SSRF do sieci wewnętrznej (np. do metadanych chmury, usług intranetowych).
  • DoS przez wyczerpywanie zasobów parsera.

Zakres dotkniętych pakietów (wg komunikatów projektu): obrazy docker.osgeo.org/geoserver oraz artefakty Maven org.geoserver.web:gs-web-app i org.geoserver:gs-wms.

Wersje z poprawkami:
Projekt wydał łatki w kilku gałęziach: 2.25.6, 2.26.2, 2.27.0, a następnie w linii 2.28 (0 i 1). Te wydania zawierają m.in. poprawki bezpieczeństwa oraz wzmacniają polityki CSP i izolację plików (sandbox).

Uwaga nt. rozbieżności źródeł: zapisy NVD wskazują naprawę m.in. w 2.26.3, ale komunikaty projektu potwierdzają łatę w 2.26.2 — w analizie preferujemy dane producenta.

Praktyczne konsekwencje / ryzyko

  • Ekspozycja danych: wyciek sekretów konfiguracyjnych → przejęcia dalszych systemów.
  • Pivoting przez SSRF: skanowanie/atakowanie hostów wewnętrznych i usług chmurowych.
  • Zakłócenia usług GIS: parsowanie złośliwych encji może wywołać DoS.
  • Ryzyko regulacyjne: wpis do KEV oznacza, iż SOC/IR powinny traktować to jako priorytet P1.

Rekomendacje operacyjne / co zrobić teraz

  1. Natychmiastowa aktualizacja GeoServer do jednej z wersji naprawionych (2.25.6 / 2.26.2 / 2.27.0 / 2.28.0+). Dla linii 2.28 zalecana jest 2.28.1. Zaktualizuj także powiązane komponenty (GeoTools, GeoWebCache) zgodnie z komunikatami projektu.
  2. Jeśli nie możesz patchować od ręki:
    • Tymczasowo zablokuj/ogranicz przyjmowanie żądań WMS POST z Content-Type: application/xml/text/xml na warstwach narażonych / publicznych.
    • Rozważ WAF z regułami blokującymi DTD (<!DOCTYPE), odwołania SYSTEM i ENTITY w payloadach WMS.
    • Wystaw WMS tylko przez reverse proxy z inspekcją treści i limitem wielkości żądań. (Dobre praktyki dla XXE).
  3. Twarda konfiguracja parserów XML w usługach pomocniczych: wyłącz external general/parameter entities, DTD, włącz secure processing (jeśli własne rozszerzenia przetwarzają XML). (Good practice uzupełniająca zalecenia projektu i CVE).
  4. Segmentacja i egress control: ogranicz wyjścia z hosta GeoServer (aby utrudnić SSRF do sieci wewnętrznej i chmury).
  5. Hunting / detekcja:
    • Logi żądań z nietypowymi POST /geoserver/wms zawierającymi GetMap i XML/DTD.
    • Wzorce w treści: <!DOCTYPE, <!ENTITY, SYSTEM, file:///, http(s)://169.254.169.254.
    • Korelacja z błędami parsera XML i skokami zużycia CPU/RAM.
  6. Weryfikacja obrazów/kontenerów: zaktualizuj obrazy docker.osgeo.org/geoserver do wersji zawierających łatę.
  7. Zgodność z KEV: o ile podlegasz wytycznym FCEB, dopilnuj remediacji do 1 stycznia 2026 r.

Różnice / porównania z innymi przypadkami

  • CVE-2025-58360 (XXE) vs CVE-2024-36401 (RCE): XXE daje dostęp do plików/SSRF/DoS, ale nie jest bezpośrednim RCE — mimo to, w połączeniu z odczytem kluczy/konfiguracji może prowadzić do przejęcia systemu. RCE z 2024 r. był natychmiastowo wykorzystywany do trwałej obecności (web-shelle, narzędzia ofensywne), co pokazuje, jak gwałtownie atakujący pivotują po publikacji poprawek.

Podsumowanie / najważniejsze wnioski

  • Luka CVE-2025-58360 w GeoServer to pre-auth XXE w WMS GetMap, aktywnie wykorzystywana i formalnie wpisana do CISA KEV.
  • Aktualizacja jest najlepszą i wymaganą ścieżką — wersje 2.25.6 / 2.26.2 / 2.27.0 / 2.28.0/2.28.1 zawierają poprawki.
  • Do czasu patchowania stosuj kompensacje: blokady WMS XML/DTD, WAF, segmentację, monitoring logów.
  • Traktuj usługę GIS jak krytyczną bramę danych — kontroluj wejścia XML i egress, aby zminimalizować skutki SSRF/XXE.

Źródła / bibliografia

  • GitHub Security Advisory (projekt GeoServer) — opis błędu XXE w GetMap, CVE-2025-58360. (GitHub)
  • GeoServer 2.26.2 — ogłoszenie wydania z informacją o naprawie CVE-2025-58360. (geoserver.org)
  • GeoServer 2.28.1 — ogłoszenie wydania, lista poprawek (m.in. CVE-2025-58360). (geoserver.org)
  • NVD — karta CVE-2025-58360 (CVSS, informacje o wersjach). (NVD)
  • Canadian Centre for Cyber Security — advisory dot. GeoServer; „exploit exists in the wild”. (Canadian Centre for Cyber Security)
  • (Kontekst) The Hacker News — informacja o wpisie do KEV i terminie FCEB. (The Hacker News)
Idź do oryginalnego materiału