CVE-2024-24549

7.5 HIGH

📋 TL;DR

This vulnerability in Apache Tomcat allows denial-of-service attacks via HTTP/2 requests. Attackers can send specially crafted HTTP/2 requests that exceed header size limits, causing Tomcat to delay stream resets and potentially exhaust server resources. It affects Tomcat versions 8.5.0-8.5.98, 9.0.0-M1-9.0.85, 10.1.0-M1-10.1.18, and 11.0.0-M1-11.0.0-M16.

💻 Affected Systems

Products:
  • Apache Tomcat
Versions: 8.5.0 through 8.5.98, 9.0.0-M1 through 9.0.85, 10.1.0-M1 through 10.1.18, 11.0.0-M1 through 11.0.0-M16
Operating Systems: All operating systems running affected Tomcat versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects HTTP/2 connections; HTTP/1.x connections are not vulnerable. Requires HTTP/2 to be enabled and configured.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability due to resource exhaustion, affecting all web applications hosted on the vulnerable Tomcat instance.

🟠

Likely Case

Degraded performance or intermittent service disruptions from repeated DoS attacks targeting the HTTP/2 implementation.

🟢

If Mitigated

Minimal impact if proper rate limiting, request filtering, and resource monitoring are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending HTTP/2 requests with oversized headers, which is straightforward for attackers with network access to the Tomcat instance.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.5.99, 9.0.86, 10.1.19, or 11.0.0-M17

Vendor Advisory: https://lists.apache.org/thread/4c50rmomhbbsdgfjsgwlb51xdwfjdcvg

Restart Required: Yes

Instructions:

1. Download the patched version from Apache Tomcat website. 2. Stop the Tomcat service. 3. Backup configuration files. 4. Replace Tomcat installation with patched version. 5. Restore configuration files. 6. Restart Tomcat service.

🔧 Temporary Workarounds

Disable HTTP/2

all

Disable HTTP/2 protocol support to prevent exploitation via vulnerable HTTP/2 handling.

Edit server.xml and remove or comment out HTTP/2 connector configurations

Implement Request Filtering

all

Use web application firewall or reverse proxy to filter HTTP/2 requests with oversized headers.

Configure WAF rules to block HTTP/2 requests exceeding header size limits

🧯 If You Can't Patch

  • Implement strict rate limiting on HTTP/2 connections to limit DoS impact
  • Monitor Tomcat resource usage and set up alerts for abnormal HTTP/2 traffic patterns

🔍 How to Verify

Check if Vulnerable:

Check Tomcat version using catalina.sh version command or examine server startup logs

Check Version:

./catalina.sh version

Verify Fix Applied:

Verify Tomcat version is 8.5.99, 9.0.86, 10.1.19, or 11.0.0-M17 or higher

📡 Detection & Monitoring

Log Indicators:

  • Multiple HTTP/2 connection resets
  • Unusual number of HTTP/2 requests with large headers
  • Tomcat resource exhaustion warnings

Network Indicators:

  • High volume of HTTP/2 traffic to Tomcat ports
  • HTTP/2 requests with abnormally large headers

SIEM Query:

source="tomcat.logs" AND ("HTTP/2" AND ("reset" OR "limit exceeded"))

🔗 References

📤 Share & Export