CVE-2025-24813 : RCE par requêtes PUT partielles et désérialisation de session dans Apache tomcat
HERMES THREAT SCORE & EXPOSITION SERVEUR D'APPLICATIONS JAVA
Cible :Apache Tomcat 9.0 / 10.1 / 11.0 (Default Servlet & Partial PUT) Hermes évalue la CVE-2025-24813 au score maximal de 99 (CRITIQUE). Cette vulnérabilité critique d'équivalence de chemin d'accès combinée à la désérialisation Java permet à un attaquant non authentifié de déposer ou manipuler des fichiers de session sérialisés (.session / SESSIONS.ser) via des requêtes HTTP PUT partielles, aboutissant à une exécution de code arbitraire au redémarrage ou au rechargement de session.
CVE-2025-24813: RCE via Partial PUT Requests and Session Deserialization in Apache TomcatVULNÉRABILITÉ
Software platform affected by security vulnerabilities and agentic attack patterns.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Confirmed security vulnerability in Apache Tomcat documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
1. Identification
Section intitulée « 1. Identification »| Paramètre | Spécification technique | Impact opérationnel |
|---|---|---|
| Identifiant CVE | CVE-2025-24813 | Référencement officiel NVD / MITRE |
| CWE associées | CWE-44 : Path Equivalence / CWE-502 : Deserialization of Untrusted Data | Contournement de contrôle d’accès sur les fichiers et injection d’objets |
| Score CVSS v3.1 | 10.0 CRITIQUE | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Score CVSS v4.0 | 9.8 CRITIQUE | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H |
| CPE applicables | cpe:2.3:a:apache:tomcat:*:*:*:*:*:*:*:* | Serveurs d’applications d’entreprise Apache Tomcat |
| Versions affectées | 9.0.0.M1 à 9.0.98, 10.1.0-M1 à 10.1.34, 11.0.0-M1 à 11.0.2 | Configurations autorisant les requêtes d’écriture ou servlets par défaut |
| Versions corrigées | 9.0.99, 10.1.35, 11.0.3 (Mars 2025) | Versions officielles publiées par l’Apache Software Foundation |
2. Exploitation
Section intitulée « 2. Exploitation »- CISA KEV : ajoutée le 1er avril 2025 ; obligation de correction sous 3 semaines.
- Score EPSS : 0.99927 (Percentile : 99.968% — arme d’attaque massivement scannée).
- Statut opérationnel : exploitation active confirmée par des honeypots et des observatoires de menaces mondiaux.
- PoC & weaponization : poCs publics armés disponibles (notamment sur GitHub et Exploit-DB) automatisant l’envoi de requêtes PUT partielles contenant des en-têtes
Content-Rangepour contourner les filtres de chemin et injecter des sessions Java sérialisées. - Conditions d’accès : pré-authentification totale ; accès réseau direct HTTP/HTTPS (ports 8080 / 80 / 443) ; complexité d’attaque faible.
3. Threat intelligence
Section intitulée « 3. Threat intelligence »- Acteurs de menace : courtiers d’accès initiaux (IABs), affiliés de rançongiciels ciblant les serveurs Java et groupes d’espionnage industriel.
- Campagnes observées : détection de balayages massifs ciblant des milliers d’instances Tomcat pour déposer des webshells JSP ou corrompre les stockages de sessions.
- Malwares associés : webshells Godzilla et Behinder adaptés à Tomcat, charges utiles Java RMI / JNDI injectées et mineurs de cryptomonnaie.
- Chronologie d’exploitation : publication par l’Apache Software Foundation fin mars 2025 ; ajout quasi immédiat au catalogue CISA KEV suite aux premières exploitations constatées.
4. Détection et triage forensique
Section intitulée « 4. Détection et triage forensique »Indicateurs de compromission (IOCs)
Section intitulée « Indicateurs de compromission (IOCs) »- Requêtes HTTP anormales : requêtes utilisant la méthode HTTP
PUTavec des en-têtesContent-Rangeou des chemins comportant des points internes (/.,..;,file.name.) vers des sous-répertoires d’applications. - Fichiers suspects : création inattendue de fichiers
.jsp,.sessionou de fichiers sérialisés (SESSIONS.ser) dans les répertoires de travail de Tomcat (work/outemp/).
Règle Sigma
Section intitulée « Règle Sigma »title: Requete HTTP PUT Partielle Suspecte vers Apache Tomcat (CVE-2025-24813)id: f4e3d2c1-2481-4b12-9876-0123456789abstatus: testdescription: Detecte des requetes HTTP PUT partielles avec Content-Range ciblant Apache Tomcatreferences: - https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgqauthor: Hermes Codex Researchdate: 2026-09-10logsource: category: webserverdetection: selection: cs_method: 'PUT' cs_uri_stem|contains: - '.jsp' - '.session' - 'SESSIONS.ser' condition: selectionfalsepositives: - Applications web d'upload de fichiers legitimes utilisant explicitement WebDAV PUTlevel: criticalSignature YARA
Section intitulée « Signature YARA »rule Exploit_Apache_Tomcat_Partial_PUT_CVE_2025_24813 { meta: description = "Detecte les requetes PUT partielles et fichiers de session Java corrompus" author = "Hermes Codex Research" date = "2026-09-10" reference = "CVE-2025-24813" strings: $http_put = "PUT " ascii $range_hdr = "Content-Range: bytes" ascii nocase $java_magic = { AC ED 00 05 } $session_path = "SESSIONS.ser" ascii condition: ($http_put and $range_hdr and ($session_path or $java_magic)) or ($java_magic at 0 and $session_path)}Signature Suricata / Snort
Section intitulée « Signature Suricata / Snort »alert http $EXTERNAL_NET any -> $TOMCAT_SERVERS any (msg:"HERMES - Apache Tomcat Partial PUT Path Equivalence RCE Attempt (CVE-2025-24813)"; flow:to_server,established; content:"PUT"; http_method; content:"Content-Range\:"; http_header; classtype:web-application-attack; sid:202524813; rev:1;)Logs & artefacts forensiques
Section intitulée « Logs & artefacts forensiques »- Journaux d’accès Tomcat (
localhost_access_log.*.txt) : rechercher les entréesPUTrenvoyant des codes 201, 204 ou 206. - Répertoires de travail tomcat : inspecter
$CATALINA_BASE/work/et$CATALINA_BASE/temp/à la recherche de fichiers créés récemment par le compte utilisateur de service Tomcat. - MITRE ATT&CK : T1190 (Exploit Public-Facing Application), T1059 (Command and Scripting Interpreter), T1505.003 (Web Shell), T1070.004 (File Deletion).
5. Remédiation et durcissement
Section intitulée « 5. Remédiation et durcissement »- Mise à jour immédiate vers une version corrigée : installer Tomcat 11.0.3, 10.1.35 ou 9.0.99.
- Désactivation des requêtes PUT sur la DefaultServlet : vérifier que dans
$CATALINA_BASE/conf/web.xml, le paramètrereadonlyde laDefaultServletest impérativement positionné àtrue(valeur par défaut). - Reboot complet de l’instance tomcat : redémarrer le service (
systemctl restart tomcat) pour purger la mémoire de la JVM. - Purge des sessions persistantes : supprimer le fichier
SESSIONS.serprésent dans les dossiers de travail avant le redémarrage pour éviter le rechargement de sessions potentiellement compromises. - Restriction des autorisations de fichiers : s’assurer que le compte de service Tomcat ne dispose pas de droits d’écriture sur les répertoires contenant les fichiers de configuration ou les bibliothèques d’application.
6. Scénario d’impact d’entreprise
Section intitulée « 6. Scénario d’impact d’entreprise »« What happens if this vulnerability is exploited in an enterprise? »
Section intitulée « « What happens if this vulnerability is exploited in an enterprise? » »
- Balayage et découverte de la passerelle Tomcat : l’attaquant identifie un serveur Tomcat exposé sur Internet hébergeant une application métier ou un portail d’entreprise.
- Émission d’une requête PUT partielle malicieuse : l’assaillant transmet une requête HTTP
PUTavec un en-têteContent-Rangeet une équivalence de chemin exploitant des délimiteurs internes pour outrepasser les règles de restriction d’écriture.- Dépôt d’un fichier de session sérialisé empoisonné : l’attaquant injecte un objet Java sérialisé malveillant dans le fichier de persistance de session
SESSIONS.serde Tomcat.- Désérialisation et exécution de code dans la JVM : dès que Tomcat redémarre ou recharge la session, la machine virtuelle Java désérialise le flux, déclenchant l’exécution immédiate de code système sous l’identité du compte Tomcat.
- Élévation de privilèges et pillage applicatif : l’attaquant extrait les chaînes de connexion aux bases de données SQL d’entreprise, déploie un webshell d’administration permanente et pivote vers les serveurs de bases de données internes.