CVE-2024-36401
Vulnerabilità di Remote Code Execution (RCE) nella valutazione delle espressioni dei nomi delle proprietà in Geoserver
- Pubblicato
- 1 lug 2024
- Aggiornato
- 21 ott 2025
- Assegnazione CNA
- GitHub_M
- Evidenza osservata
- 15 lug 2024
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAlto · prossimi 30 giorni
- Percentile
- 100,0%
- Data del modello
- 15 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
CISA noto sfruttato
Questo CVE appare nel catalogo CISA delle vulnerabilità sfruttate note.
Riepilogo
GeoServer è un server open source che consente agli utenti di condividere e modificare dati geospaziali. Prima delle versioni 2.22.6, 2.23.6, 2.24.4 e 2.25.2, molteplici parametri delle richieste OGC consentono l'esecuzione remota di codice (RCE) da parte di utenti non autenticati tramite input appositamente predisposti contro un'installazione predefinita di GeoServer, a causa della valutazione non sicura dei nomi delle proprietà come espressioni XPath. L'API della libreria GeoTools chiamata da GeoServer valuta i nomi di proprietà/attributi per i tipi di feature in un modo che li passa in modo non sicuro alla libreria commons-jxpath, la quale può eseguire codice arbitrario durante la valutazione delle espressioni XPath. Questa valutazione XPath dovrebbe essere utilizzata solo per i tipi di feature complessi (cioè i data store Application Schema), ma viene erroneamente applicata anche ai tipi di feature semplici, il che rende questa vulnerabilità applicabile a **TUTTE** le istanze di GeoServer. Non viene fornito alcun PoC pubblico, ma è stato confermato che questa vulnerabilità è sfruttabile tramite richieste WFS GetFeature, WFS GetPropertyValue, WMS GetMap, WMS GetFeatureInfo, WMS GetLegendGraphic e WPS Execute. Questa vulnerabilità può portare all'esecuzione di codice arbitrario. Le versioni 2.22.6, 2.23.6, 2.24.4 e 2.25.2 contengono una patch per il problema. Esiste una soluzione alternativa che consiste nel rimuovere il file `gt-complex-x.y.jar` da GeoServer, dove `x.y` è la versione di GeoTools (ad es., `gt-complex-31.1.jar` se si utilizza GeoServer 2.25.1). Questo rimuoverà il codice vulnerabile da GeoServer ma potrebbe compromettere alcune funzionalità di GeoServer o impedire la distribuzione di GeoServer se il modulo gt-complex è necessario.
Fonti
geoserver/CVE-2024-36401
GeoServer Unauthenticated Remote Code Execution in Evaluating Property Name Expressions (CVE-2024-36401)
Vulhub vulnerability labsCondizioni dichiarate
- lab image version: vulhub/geoserver:2.23.2(geoserver/CVE-2024-36401/docker-compose.yml:services.web.image)
modules/exploits/multi/http/geoserver_unauth_rce_cve_2024_36401.rb
Metasploit Framework modulesCondizioni dichiarate
- platform: Linux,Unix,Windows($.exploit_multi/http/geoserver_unauth_rce_cve_2024_36401.platform)
- verification: check_declared($.exploit_multi/http/geoserver_unauth_rce_cve_2024_36401.check)
http/cves/2024/CVE-2024-36401.yaml
Nuclei TemplatesCondizioni dichiarate
- network: http($.protocol_keys)
- verification: word($.matchers[*].type)
- oob: interactsh_reference($.template_text)
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.