
POC per CVE-2025-24813 utilizzando Spring-Boot
Tomcat è vulnerabile a causa di due vulnerabilità separate, la prima è una debolezza in DefaultServlet che consente put parziali per scrivere una directory temporanea vedi: https://github.com/apache/tomcat/blob/f2a274bc00cf73670a614999561c69a391b5e35f/java/org/apache/catalina/servlets/DefaultServlet.java#L608
La seconda è la classe FileStore, che deserializza qualsiasi file .session nella directory temporanea vedi: https://github.com/apache/tomcat/blob/05a72ef525e41835aaf5ce3d04122970f4aa8c21/java/org/apache/catalina/session/FileStore.java#L202
L'applicazione utilizza Tomcat 10.1.24 (incluso in Spring-Boot 3.3.0), che è vulnerabile a CVE-2025-24813, e lo configura con:
PersistentManager e FileStoreserver.servlet.register-default-servlet=true)readonly=false)Vedi template: https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-24813.yaml
È necessario un periodo di cooldown di 60 secondi poiché ci vuole tempo prima che l'handler Filestore acquisisca il file di sessione ed esegua il payload:
nuclei -target http://localhost:8080/ -t http/cves/2025/CVE-2025-24813.yaml -interactions-cooldown-period 60 -v