Skip to content

CVE-2025-24813: RCE via Partial PUT Requests and Session Deserialization in Apache Tomcat

HERMES

HERMES THREAT SCORE & JAVA APPLICATION SERVER EXPOSURE

Target: Apache Tomcat 9.0 / 10.1 / 11.0 (Default Servlet & Partial PUT)
Confidence: 99%
99 / 100
CRITICAL

Measures real-world operational relevance, exploit weaponization, and active threat posture.

Dimension Breakdown
Exploitability 20 / 20
Threat Activity 20 / 20
Weaponization 20 / 20
Exposure 20 / 20
Prevalence 20 / 20
Impact 20 / 20
Exploit Maturity 20 / 20
Attack Chain Potential 20 / 20
⚖️ Divergence & Operational Rationale

Hermes assesses CVE-2025-24813 at a maximum HTS of 99 (CRITICAL SEVERITY). This critical vulnerability combines path equivalence flaws with Java deserialization, allowing unauthenticated remote attackers to write or modify serialized session files (SESSIONS.ser) via partial PUT requests, achieving remote code execution when sessions are loaded.

🕸️ Connected Knowledge Graph & Provenance

CVE-2025-24813: RCE via Partial PUT Requests and Session Deserialization in Apache TomcatVULNERABILITY

Connected Nodes: 2
Active Relationships (Outgoing)
→ affectsPRODUCTApache Tomcat
98% VERY_HIGH

Software platform affected by security vulnerabilities and agentic attack patterns.

🔍 Why is this related? (Evidence & Provenance)

“Confirmed security vulnerability in Apache Tomcat documented in Hermes dossier.”

Supporting Verified Evidence:
→ usesATTACK TECHNIQUET1059: Command and Scripting Interpreter
90% VERY_HIGH

Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.

🔍 Why is this related? (Evidence & Provenance)

“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”

Supporting Verified Evidence:
ParameterTechnical SpecificationOperational Impact
CVE IdentifierCVE-2025-24813Official NVD / MITRE record
Associated CWEsCWE-44: Path Equivalence / CWE-502: Deserialization of Untrusted DataAccess control bypass and untrusted object instantiation
CVSS v3.1 Score10.0 CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVSS v4.0 Score9.8 CRITICALCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Applicable CPEscpe:2.3:a:apache:tomcat:*:*:*:*:*:*:*:*Enterprise Apache Tomcat application servers
Affected Versions9.0.0.M1 through 9.0.98, 10.1.0-M1 through 10.1.34, 11.0.0-M1 through 11.0.2Deployments permitting file uploads or custom DefaultServlet configs
Fixed Versions9.0.99, 10.1.35, 11.0.3 (March 2025)Official Apache Software Foundation releases

  • CISA KEV: Added on April 1, 2025; strict remediation window enforced.
  • EPSS Score: 0.99927 (Percentile: 99.968% — top-tier exploit availability).
  • Operational Status: Active global mass scanning and weaponized exploitation.
  • PoC & Weaponization: Functional exploits leverage HTTP PUT with Content-Range headers to bypass access controls and inject Java serialization gadget payloads into session stores.
  • Access Conditions: Pre-authentication; public network access (ports 8080 / 80 / 443); low attack complexity.

  • Threat Actors: Initial Access Brokers (IABs), ransomware groups targeting enterprise Java clusters, and automated exploit botnets.
  • Observed Campaigns: Wide-scale automated probing seeking exposed Tomcat endpoints to drop JSP backdoors and crypto-miners.
  • Associated Malware: Godzilla and Behinder Java webshells, Cobalt Strike payloads, and custom Java RMI reflection modules.
  • Exploitation Timeline: Patched late March 2025; immediately observed in wild scanning and added to CISA KEV on April 1, 2025.

  • Anomalous PUT Requests: Requests using HTTP PUT with Content-Range headers or dot characters in path strings.
  • Suspicious Session Files: Creation of unverified .session or SESSIONS.ser files in $CATALINA_BASE/work/ or temporary folders.
title: Suspicious Partial HTTP PUT Request to Apache Tomcat (CVE-2025-24813)
id: f4e3d2c1-2481-4b12-9876-0123456789ab
status: test
description: Detects partial HTTP PUT requests with Content-Range targeting Apache Tomcat
references:
- https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq
author: Hermes Codex Research
date: 2026-09-10
logsource:
category: webserver
detection:
selection:
cs_method: 'PUT'
cs_uri_stem|contains:
- '.jsp'
- '.session'
- 'SESSIONS.ser'
condition: selection
falsepositives:
- Legitimate WebDAV document management applications
level: critical
rule Exploit_Apache_Tomcat_Partial_PUT_CVE_2025_24813 {
meta:
description = "Detects partial PUT exploit requests and poisoned Java session files"
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)
}
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;)
  • Tomcat Access Logs (localhost_access_log.*.txt): Check for PUT methods with HTTP 201/204/206 status codes.
  • Work Directory Review: Examine $CATALINA_BASE/work/ and temporary dirs for newly written serialization files.
  • MITRE ATT&CK: T1190 (Exploit Public-Facing Application), T1059 (Command and Scripting Interpreter), T1505.003 (Web Shell).

  1. Upgrade Immediately: Update Tomcat to 11.0.3, 10.1.35, or 9.0.99.
  2. Verify DefaultServlet Read-Only Mode: Ensure readonly parameter in $CATALINA_BASE/conf/web.xml is set to true.
  3. Restart Tomcat Service: Fully restart the application server to reload compiled classes.
  4. Purge Stored Sessions: Remove any existing SESSIONS.ser file from work directories prior to restarting to prevent compromised session deserialization.
  5. Restrict Filesystem Permissions: Ensure the Tomcat service account cannot write to web application root or configuration directories.

”What happens if this vulnerability is exploited in an enterprise?”

Section titled “”What happens if this vulnerability is exploited in an enterprise?””
  1. Scanning Exposed Application Servers: The attacker discovers an exposed Apache Tomcat instance serving an enterprise portal.
  2. Issuing Partial PUT Requests: The adversary submits HTTP PUT requests with Content-Range headers and internal path equivalence sequences to write files to disk.
  3. Poisoning the Session Store: The attacker uploads a crafted Java serialized payload overwriting the server’s session persistence file (SESSIONS.ser).
  4. Triggering In-Memory Deserialization: When the session manager unpickles the persisted state, the gadget chain executes system commands in the JVM process context.
  5. Internal Pivoting and Data Theft: The attacker dumps database connection pools, gains access to backend SQL data, and installs persistent webshells to facilitate lateral movement across enterprise networks.