IRONSMITHINTEL
HIGHCVSS7.5
|CVE-2024-24549|Auth: none — network accessible tomcat endpoint sufficient|Reboot: not required|Est. 30 minutes including service restart|Manual only

Apache Tomcat < 11.0.0-M17 — DoS

Apache Tomcat has a denial of service vulnerability in HTTP/2 request header processing. Update to Tomcat 11.0.0-M17 / 10.1.19 / 9.0.86 — Tomcat powers a large share of Java enterprise applications.

Published Mar 13, 2024 · Updated May 10, 2026
Why patchRisk explained in plain English
Worst-case scenarioIf unpatched

An unauthenticated attacker can send HTTP/2 requests with oversized headers to cause sustained denial of service against Apache Tomcat. In environments where Tomcat is internet-facing, this can disrupt web application availability.

How the attack works

When processing HTTP/2 requests, Apache Tomcat does not properly handle the case where the request header section is too large, allowing an attacker to trigger excessive memory allocation that may cause the JVM to run out of memory or cause degraded performance.

Am I affected?Quick check

Probably yes if any of these apply:

Java Application Teams
DevOps Teams
Server Administrators
Running Apache Tomcat 11.0.0-M1 to 11.0.0-M16, 10.1.0-M1 to 10.1.18, 9.0.0-M1 to 9.0.85

Affected OS versions

Windows Server 2016Windows Server 2019Windows Server 2022
Fixed inApache Tomcat 11.0.0-M17 / 10.1.19 / 9.0.86
Real-world incidentsWhat we've seen

A Java application server running Tomcat 10.x is targeted by automated DoS traffic sending HTTP/2 requests with very large header values. The server's memory exhausts rapidly, causing 503 errors for legitimate users. Upgrading to 10.1.19 resolves the issue.

How to patch

Manual remediation steps

30 minutes including service restart

Check Tomcat Version

# From Tomcat installation directory:
.\bin\version.bat

# Or check the JAR manifest:
$tomcatJar = Get-ChildItem "C:\tomcat\lib" -Filter "catalina*.jar" | Select-Object -First 1
if ($tomcatJar) {
  Add-Type -Assembly System.IO.Compression.FileSystem
  $zip = [IO.Compression.ZipFile]::OpenRead($tomcatJar.FullName)
  $manifest = $zip.Entries | Where-Object { $_.Name -eq "MANIFEST.MF" }
  $reader = [IO.StreamReader]::new($manifest.Open())
  $reader.ReadToEnd()
  $zip.Dispose()
}

Download and Update Tomcat

1
Download the updated version from https://tomcat.apache.org/download-10.cgi
2
Stop the Tomcat service:
Stop-Service Tomcat10 -ErrorAction SilentlyContinue
# Or:
.\bin\shutdown.bat
1
Back up the existing installation
2
Extract the new Tomcat version and copy across your webapps/ and conf/ directories
3
Start Tomcat:
Start-Service Tomcat10
# Or:
.\bin\startup.bat

Verify

.\bin\version.bat
# Must show 10.1.19 or later
PowerShell automationComing soon

No tested PowerShell script for this entry yet. We’re prioritising automation based on user demand.