
POC für CVE-2025-24813 mit Spring-Boot
Tomcat ist aufgrund von zwei separaten Schwachstellen angreifbar; die erste ist eine Schwäche im DefaultServlet, die es erlaubt, mit teilweisen PUTs ein temporäres Verzeichnis zu beschreiben. siehe: https://github.com/apache/tomcat/blob/f2a274bc00cf73670a614999561c69a391b5e35f/java/org/apache/catalina/servlets/DefaultServlet.java#L608
Die zweite ist die FileStore-Klasse, die jede .session-Datei im temporären Verzeichnis deserialisiert. siehe: https://github.com/apache/tomcat/blob/05a72ef525e41835aaf5ce3d04122970f4aa8c21/java/org/apache/catalina/session/FileStore.java#L202
Die Anwendung verwendet Tomcat 10.1.24 (enthalten in Spring-Boot 3.3.0), das anfällig für CVE-2025-24813 ist, und konfiguriert es mit:
PersistentManager und FileStoreserver.servlet.register-default-servlet=true)readonly=false)Siehe Template: https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-24813.yaml
Eine Abkühlphase von 60 Sekunden ist erforderlich, da es eine Weile dauert, bis der Filestore-Handler die Session-Datei aufnimmt und die Payload ausführt:
nuclei -target http://localhost:8080/ -t http/cves/2025/CVE-2025-24813.yaml -interactions-cooldown-period 60 -v