Reference material — not professional advice. Test in staging, back up first, verify against your specific version. Use your own judgment for your environment.
● Not verified · CVSS 0.0 ⚠ ACTIVELY EXPLOITED — CISA KEV

How to Fix CVE-2025-24813: Path Equivalence: 'file.name' in Apache Software Foundation Apache Tomcat

By Sai Kiran Pandrala

⚡ At a glance
SeverityCVSS 0.0
Actively exploited?Yes, listed in CISA KEV (added 2025-04-01, federal due date 2025-04-22)
AffectedApache Tomcat: 11.0.0-M1 <= version 11.0.2, 10.1.0-M1 <= version 10.1.34, 9.0.0.M1 <= version 9.0.98, 8.5.0 <= version 8.5.100
Fixed inApache Tomcat: 11.0.2, 10.1.34, 9.0.98, 8.5.100
Type (CWE)CWE-44 — Path Equivalence: 'file.name'

What is CVE-2025-24813?

Path Equivalence: 'file.Name' (Internal Dot) leading to Remote Code Execution and/or Information disclosure and/or malicious content added to uploaded files via write enabled Default Servlet in Apache Tomcat. This issue affects Apache Tomcat: from 11.0.0-M1 through 11.0.2, from 10.1.0-M1 through 10.1.34, from 9.0.0.M1 through 9.0.98. The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.0 though 8.5.100. Other, older, EOL versions may also be affect

A successful exploit lets a remote attacker run arbitrary code on the target system. The fix is to install the patched build from Apache Software Foundation listed in the table above and confirm the running version after the upgrade.

Am I affected?

Check your installed version of Apache Software Foundation Apache Tomcat against the Affected row above. If your build sits within any of those ranges, treat the system as vulnerable until patched.

If you do not have the version handy, pull it the same way you usually would for Apache Tomcat: the management console's About page, the CLI's version command, or the package manager record for the installed binary. The vendor advisory linked in the references section is the authoritative source.

How to fix CVE-2025-24813

  1. Read the vendor advisory at https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq for the build matrix that matches your installation.
  2. Identify the patched build for your major version: Apache Tomcat: 11.0.2, 10.1.34, 9.0.98, 8.5.100.
  3. Back up configuration before upgrading (export running config, snapshot the VM, or take a database dump as appropriate for your platform).
  4. Apply the patched build using the vendor's documented upgrade path (in-place upgrade, package update, or replacement image).
  5. Restart the service so the new code is loaded; verify the running version reports the patched build number.

Update the Java dependency


# The patched Maven / Gradle version is listed in the vendor advisory: https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq
# Maven
mvn versions:set -DnewVersion=<patched-version> -DartifactId=<artifact-id>
mvn clean install

# Gradle
./gradlew --refresh-dependencies build

# Verify the runtime version
java -version

# Vendor advisory: https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq
# Restart the affected Windows service after replacing the JAR
Restart-Service -Name "<service-name>"
Get-Service -Name "<service-name>"

Verify the fix landed


# 1. Confirm the running version matches the fixed-in version from the advisory:
#    https://lists.apache.org/thread/j5fkjv2k477os90nczf2v9l61fb0kkgq
#    Use the platform-specific version probe above.

# 2. Re-scan with your vulnerability scanner (Nessus, Qualys, Tenable, OpenVAS).
#    The scanner should no longer flag CVE-2025-24813 on the patched target.

# 3. Inspect recent service / kernel logs for crash loops or rollback events.
journalctl -u <service> --since "10 minutes ago"
dmesg --since "10 minutes ago"

If you can't patch immediately

Check the vendor advisory's "Workarounds" section. If the advisory lists no official workaround, patching is the only remediation. Compensating controls that reduce attack surface in the meantime: restrict network access to the management interface to a small admin allowlist, disable the affected feature if it is not in use, and monitor the relevant logs for the exploitation patterns referenced in the advisory.

How to verify the fix worked

  1. Confirm the running version matches the patched build from the vendor advisory.
  2. Re-run your vulnerability scanner; the CVE should clear.
  3. Review logs from before the patch for the exploitation signatures described in the advisory, and treat any matches as a possible compromise (rotate credentials, isolate the host, full IR).

Frequently asked questions

Other vulnerabilities in the same area that are worth patching alongside this one:

Is CVE-2025-24813 being exploited right now?

Yes. It is listed in the CISA Known Exploited Vulnerabilities catalog (added 2025-04-01), which means CISA has evidence of active exploitation.

What is the CVSS score for CVE-2025-24813?

CVSS 0.0. Use this with your own asset exposure to set patching priority (internet-exposed systems first).

Do I need to take the system offline to patch?

It depends on the platform. Many appliances support hitless upgrade in HA pairs (upgrade standby, fail over, upgrade primary). Servers and applications usually need a service restart. Plan a maintenance window if HA is not available.

What if my version is not listed as affected?

Cross-check against the vendor advisory linked below. The CVE record reflects the vendor's official affected-products list at publication time; later-discovered variants are added through the same advisory or a follow-up CVE.

References


*This guide was assembled from the official vendor advisory, NVD record, and CISA KEV listing on 2026-05-25. Always confirm against the vendor advisory before applying changes in production.*