HTTP/2 Protocol CVE-2023-44487
HIGHAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify HTTP/2-enabled target
-
DeliveryEstablish single HTTP/2 connection
-
ExploitOpen stream with HEADERS frame
-
InstallImmediately send RST_STREAM
-
C2Loop at high rate across many connections
-
ExecuteExhaust server CPU/memory/workers
-
ImpactService degradation or outage
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource consumption limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target must expose HTTP/2 (h2 or h2c) on a reachable network endpoint - this is the default for TLS-terminating web servers, CDNs, reverse proxies, gRPC services, and Kubernetes ingress controllers. No authentication, no user interaction, no special server configuration, and no specific vulnerable version of any single product are required because the weakness is in the HTTP/2 protocol itself; any compliant server that has not been patched or hardened against rapid RST_STREAM floods is exploitable. The only meaningful limiting factors are: the service must speak HTTP/2 (HTTP/1.1-only endpoints are unaffected), and upstream protections such as a patched CDN/WAF, aggressive per-connection stream rate limits, or RST_STREAM ratio enforcement can blunt or eliminate impact. |
| Impact | All real-world signals point to high, immediate priority: CISA KEV listing confirms active in-the-wild exploitation by multiple actors (notably the record-breaking DDoS waves disclosed by Google, Cloudflare, and AWS in October 2023), EPSS of 94.45% (100th percentile) reflects extremely high exploitation likelihood, and public exploit code is widely available. The CVSS base of 7.5 with CWE-400 is consistent with a network-reachable, unauthenticated availability-only impact (no confidentiality or integrity loss). The CVSS vector string itself was not supplied in the input, so the AV:N/AC:L/PR:N/UI:N inference is taken from NVD's published score rather than directly verified here; defenders should treat exploitation as trivial and remote regardless. The mismatch worth flagging: this is an availability-only flaw, so 'risk' here is uptime and cost (bandwidth/compute), not data breach - but the scale of observed attacks (hundreds of millions of RPS) makes it materially dangerous for any internet-facing HTTP/2 endpoint. |
| Exploit ScenarioDerived | An attacker (or botnet) opens a single HTTP/2 connection to an internet-facing server, then in a tight loop sends HEADERS frames to start new streams immediately followed by RST_STREAM frames to cancel them, bypassing the negotiated max-concurrent-streams limit while still forcing the server to allocate per-request resources. Publicly available exploit code and DDoS-as-a-service offerings make this trivially repeatable, and observed campaigns in August-October 2023 generated hundreds of millions of requests per second against Google, Cloudflare, and AWS, taking down or degrading downstream services. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAI
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resources by rapidly opening and immediately canceling (RST_STREAM) large numbers of streams over a single connection, a technique dubbed the 'Rapid Reset' attack. The flaw is confirmed actively exploited (CISA KEV) following large-scale weaponization observed August through October 2023, with publicly available exploit code and an EPSS score of 94.45% placing it in the 100th percentile for likelihood of exploitation. Virtually every major HTTP/2 stack - including nghttp2, Netty, Envoy, and Eclipse Jetty - is affected.
RemediationAI
Patch available per vendor advisory - upgrade each affected HTTP/2 implementation to the vendor-fixed version: nghttp2 1.57.0+, Netty 4.1.100.Final+, Envoy 1.24.12/1.25.11/1.26.6/1.27.1+, and the corresponding Jetty/Apache/nginx/Go/gRPC releases published in October 2023; consult CERT/CC VU#421644 and each vendor's advisory for the exact patched build. Because the root cause is a protocol design issue, even patched servers benefit from defense-in-depth: lower SETTINGS_MAX_CONCURRENT_STREAMS (e.g., to 100), enforce a stricter ratio of RST_STREAM frames to opened streams per connection and tear down abusive sessions, rate-limit new streams per connection, and place a patched, hardened reverse proxy or CDN/WAF (Cloudflare, Akamai, AWS Shield) in front of origin servers. As a last resort, HTTP/2 can be disabled in favor of HTTP/1.1, but this sacrifices multiplexing performance and breaks gRPC and other HTTP/2-only clients, so it is rarely acceptable in production.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 12 packages in go, maven
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The defect lives in the HTTP/2 protocol specification (RFC 7540) rather than any single implementation, which is why it cascades across the ecosystem (nghttp2, Netty, Envoy 1.24.10/1.25.9/1.26.4/1.27.0, Eclipse Jetty, and most reverse proxies and web servers). HTTP/2 multiplexes many concurrent streams over a single TCP/TLS connection and lets the client send RST_STREAM to abort a stream cheaply on the wire. Servers, however, must still allocate request state (headers, HPACK context, routing, sometimes upstream sockets) before observing the reset, so a client that opens-then-resets streams at high rates can consume CPU, memory, and worker threads far beyond the SETTINGS_MAX_CONCURRENT_STREAMS budget. This maps cleanly to CWE-400 (Uncontrolled Resource Consumption): asymmetric attacker cost versus server cost on a per-stream basis.
Know when Http gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
Lifecycle Timeline
1DescriptionNVD
The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can reset many streams quickly, as exploited in the wild in August through October 2023.
Blast Radius
ecosystem impact- 2 maven packages depend on org.apache.tomcat.embed:tomcat-embed-core (2 direct, 0 indirect)
- 3 maven packages depend on org.apache.tomcat:tomcat-coyote (3 direct, 0 indirect)
Ecosystem-wide dependent count for version 11.0.0-M1 and other introduced versions.
Executive ViewAI
HTTP/2-based services across your organization are exposed to CVE-2023-44487, a denial-of-service vulnerability confirmed actively exploited in production environments, affecting nghttp2, Netty, Envoy, and Jetty implementations. All organizations running HTTP/2 infrastructure face immediate risk of service outages. Urgent patching is required to prevent disruption.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Affected Products (CPE)NVD
Remote, unauthenticated denial of service affects react/http versions 0.6.0 through 1.11.0, where a malformed Transfer-E
An issue was discovered in the http crate before 0.1.20 for Rust. Rated high severity (CVSS 7.5), this vulnerability is
HTTP::Daemon is a simple http server class written in perl. Rated medium severity (CVSS 6.5), this vulnerability is remo
An issue was discovered in the http package through 0.12.2 for Dart. Rated medium severity (CVSS 6.1), this vulnerabilit
HTTP::Session versions through 0.53 for Perl defaults to using insecurely generated session ids.
HTTP::Tiny before 0.083, a Perl core module since 5.13.9 and available standalone on CPAN, has an insecure default TLS c
Unbounded response-header buffering in ReactPHP's HTTP client (react/http) versions 1.0.0 through 1.11.0 allows a malici
Credential leakage in the Perl HTTP::Tiny client (all versions before 0.095) lets an attacker who controls a redirect de
HTTP::Tiny versions before 0.093 for Perl fail to validate carriage return and line feed (CRLF) characters in HTTP reque
HTTP::Session2 versions through 1.09 for Perl does not validate the format of user provided session ids, enabling code i
HTTP::Session2 before version 1.12 for Perl generates predictable session identifiers on Windows systems when /dev/urand
react/http is an event-driven, streaming HTTP client and server implementation for ReactPHP. Rated medium severity (CVSS
NVD
CVE.org
CISA KEV
EPSS
Exploit-DB
GitHub
VulDB