CVE-2023-44487

7.5 HIGH

📋 TL;DR

CVE-2023-44487 is an HTTP/2 protocol vulnerability that allows attackers to cause denial of service by rapidly resetting streams, consuming server resources. This affects any system using HTTP/2, including web servers, load balancers, and reverse proxies. The vulnerability was actively exploited in the wild from August to October 2023.

💻 Affected Systems

Products:
  • nginx
  • Apache HTTP Server
  • HAProxy
  • Envoy
  • Traefik
  • Microsoft IIS
  • Go HTTP/2 implementation
  • Node.js HTTP/2 module
  • Java HTTP/2 implementations
  • Cloudflare
  • AWS ALB
  • Google Cloud Load Balancer
Versions: All versions implementing HTTP/2 prior to patches released in October 2023
Operating Systems: All operating systems running affected HTTP/2 implementations
Default Config Vulnerable: ⚠️ Yes
Notes: Any service with HTTP/2 enabled is vulnerable. HTTP/1.1 and HTTP/3 are not affected.

📦 What is this software?

Ios Xe by Cisco

Cisco IOS XE is Cisco's modern network operating system running on enterprise routers, switches, and wireless controllers deployed across corporate networks, data centers, branch offices, and service provider infrastructure worldwide. As the evolution of Cisco IOS, IOS XE provides a Linux-based modu...

Learn more about Ios Xe →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability due to resource exhaustion, affecting all HTTP/2 services on the target system

🟠

Likely Case

Degraded performance, intermittent service disruptions, and increased resource utilization

🟢

If Mitigated

Minimal impact with proper rate limiting, monitoring, and updated software

🌐 Internet-Facing: HIGH - HTTP/2 is widely used for internet-facing web services and can be exploited remotely without authentication
🏢 Internal Only: MEDIUM - Internal services using HTTP/2 are vulnerable but require network access

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Active exploitation observed in the wild. Attack tools are publicly available. No authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Varies by vendor - check specific vendor advisories for patched versions

Vendor Advisory: Multiple - see references in CVE description for specific vendor links

Restart Required: Yes

Instructions:

1. Identify all HTTP/2 implementations in your environment. 2. Check vendor advisories for patched versions. 3. Apply patches according to vendor instructions. 4. Restart affected services. 5. Verify patches are applied correctly.

🔧 Temporary Workarounds

Disable HTTP/2

all

Temporarily disable HTTP/2 protocol support to mitigate the vulnerability

nginx: set 'listen 443 ssl http2;' to 'listen 443 ssl;' in config
Apache: set 'Protocols h2 http/1.1' to 'Protocols http/1.1' in config

Rate limit RST_STREAM frames

linux

Implement rate limiting for HTTP/2 RST_STREAM frames

nginx: limit_req_zone $binary_remote_addr zone=rst_limit:10m rate=10r/s;
Add 'limit_req zone=rst_limit burst=20 nodelay;' to location blocks

🧯 If You Can't Patch

  • Implement network-level rate limiting for HTTP/2 traffic
  • Use WAF or load balancer with HTTP/2 DoS protection capabilities

🔍 How to Verify

Check if Vulnerable:

Check if HTTP/2 is enabled and version is unpatched. Use: curl -I --http2 https://target.com | grep HTTP/

Check Version:

nginx -v, httpd -v, haproxy -v, or check service-specific version commands

Verify Fix Applied:

Verify HTTP/2 service is running patched version. Check service version and test with known exploit tools.

📡 Detection & Monitoring

Log Indicators:

  • High volume of RST_STREAM frames in HTTP/2 logs
  • Unusual increase in connection resets
  • Resource exhaustion alerts (CPU, memory)

Network Indicators:

  • Abnormal spike in HTTP/2 RST_STREAM packets
  • High rate of TCP connection resets on port 443
  • Unusual patterns of HTTP/2 stream cancellations

SIEM Query:

source="web_server_logs" | search "RST_STREAM" | stats count by src_ip | where count > 100

🔗 References

📤 Share & Export