
POC pour CVE-2025-24813 utilisant Spring-Boot
Tomcat est vulnérable à cause de deux vulnérabilités distinctes, la première est une faiblesse dans DefaultServlet qui permet des écritures partielles pour écrire dans un répertoire temporaire. voir : https://github.com/apache/tomcat/blob/f2a274bc00cf73670a614999561c69a391b5e35f/java/org/apache/catalina/servlets/DefaultServlet.java#L608
La seconde est la classe FileStore, qui désérialise tout fichier .session dans le répertoire temporaire. voir : https://github.com/apache/tomcat/blob/05a72ef525e41835aaf5ce3d04122970f4aa8c21/java/org/apache/catalina/session/FileStore.java#L202
L'application utilise Tomcat 10.1.24 (inclus dans Spring-Boot 3.3.0), qui est vulnérable à CVE-2025-24813, et le configure avec :
PersistentManager et FileStoreserver.servlet.register-default-servlet=true)readonly=false)Voir le modèle : https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2025/CVE-2025-24813.yaml
Un délai de refroidissement de 60 secondes est nécessaire car un certain temps s'écoule avant que le gestionnaire FileStore ne récupère le fichier de session et n'exécute la charge utile :
nuclei -target http://localhost:8080/ -t http/cves/2025/CVE-2025-24813.yaml -interactions-cooldown-period 60 -v