
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
- 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.
- 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).
- 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).
- Segmentacja i egress control: ogranicz wyjścia z hosta GeoServer (aby utrudnić SSRF do sieci wewnętrznej i chmury).
- 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.
- Weryfikacja obrazów/kontenerów: zaktualizuj obrazy docker.osgeo.org/geoserver do wersji zawierających łatę.
- 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)




