Skip to main content

h2o CVE-2026-54340

HIGH
Uncontrolled Resource Consumption (CWE-400)
2026-07-17 security-advisories@github.com
7.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open HTTP/2 connection to h2o
  2. Delivery
    Send amplified HPACK header sections
  3. Exploit
    Stall many concurrent streams
  4. Execution
    Retain unbounded decoded header state
  5. Impact
    Exhaust server memory / deny service

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 be serving HTTP/2, which is the specific protocol path where HPACK decompression and stream multiplexing exist. Exploitation requires the attacker to (1) send compressed HPACK field sections that amplify into large decoded header state, and (2) hold multiple streams open in a stalled state so that state is retained rather than freed. The description explicitly notes the severity is configuration-dependent: 'depending on the configuration, additional limits are needed to bound decoded header state' - deployments that already impose tight header-count/size and concurrent-stream limits are less exposed, while defaults lacking the new hard cap are vulnerable. Reachability requires no special conditions beyond HTTP/2 exposure - the CVSS vector is AV:N/AC:L/PR:N/UI:N, so it is remote and unauthenticated against affected configurations of h2o that serve HTTP/2. The primary limiting factor is that only availability is affected (no data or code-execution impact) and that a server not offering HTTP/2 is not reachable via this path.

Impact

The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) is internally consistent with the description: a network-reachable, low-complexity, unauthenticated attack whose sole impact is availability. This is a genuine, easily reachable DoS against any exposed HTTP/2 endpoint, so exploitability is high, but blast radius is limited to service disruption - no data exposure or code execution. No EPSS score, KEV listing, or SSVC decision data was provided, so exploitation probability cannot be quantified from the input; there is no public exploit identified at time of analysis. Weighing these signals, this is a real but moderate priority: trivial to trigger and network-facing, yet availability-only and dependent on the target actually exposing HTTP/2. One nuance to verify: the description notes that whether additional limits are needed is configuration-dependent ('depending on the configuration, additional limits are needed'), so the practical severity varies with per-deployment header/stream limits rather than being uniform across all installs.

Exploit ScenarioDerived

An attacker opens an HTTP/2 connection to an internet-facing h2o server and initiates many concurrent streams, each carrying an HPACK-compressed field section that decompresses into a large volume of header state, then deliberately stalls the streams (Slowloris-style) without completing them. Because each stalled stream retains its amplified decoded header state and no hard limit bounds the total, memory consumption climbs until the server degrades or is exhausted. No authentication or user interaction is required (AV:N/AC:L/PR:N/UI:N); no public exploit is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 17, 2026

Remote denial of service in the h2o HTTP server (all versions prior to commit 9265bdd) allows unauthenticated attackers to exhaust server memory by combining HPACK header-decompression amplification with Slowloris-style HTTP/2 stream stalling. By opening many streams that stall mid-request, an attacker forces the server to retain large volumes of amplified decoded header state, degrading or crashing the service. There is no public exploit identified at time of analysis, and the CVSS 7.5 (A:H only) reflects an availability-only impact with no confidentiality or integrity effect.

RemediationAI

Upstream fix available (PR/commit); a released patched version is not independently confirmed from the provided data - update h2o to a build that includes commit 9265bdd9a996ed992681055e3996baf3e09d2063, which adds the H2O_HPACK_MAX_HEADERS_HARD_LIMIT (1000) hard cap and enforces the H2O_MAX_HEADERS soft limit in the HPACK decoder. Consult GHSA-qcrr-wrhc-pgq9 (https://github.com/h2o/h2o/security/advisories/GHSA-qcrr-wrhc-pgq9) for the authoritative fixed release. Until you can rebuild or upgrade, compensating controls include tightening HTTP/2 limits in the deployment configuration to bound decoded header state - reduce the maximum concurrent streams per connection and cap request header count/size so stalled streams cannot accumulate unbounded state (trade-off: overly aggressive limits may reject legitimate clients sending many or large headers), and enforce short idle/stream timeouts to reap Slowloris-style stalled streams (trade-off: may prematurely close slow but legitimate mobile clients). Fronting h2o with a reverse proxy or WAF that enforces its own HTTP/2 stream and header limits, or per-IP connection rate limiting, further reduces amplification exposure at the cost of added infrastructure and latency.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is h2o's HTTP/2 HPACK decoder (lib/http2/hpack.c). HPACK is the header-compression format for HTTP/2, and it is inherently amplifying: a small compressed field section (using Huffman coding and dynamic-table references) can decode into a much larger set of header fields and bytes. This is a classic CWE-400 (Uncontrolled Resource Consumption) issue. The flaw is that decoded header state was bounded only by soft targets (H2O_MAX_HEADERS=100, H2O_MAX_REQLEN) that functions were expected to tolerate exceeding, with no hard ceiling. When multiple HTTP/2 streams are held open (stalled) simultaneously, each retains its amplified decoded header state, and the aggregate memory across stalled streams is unbounded depending on configuration. The fix in commit 9265bdd introduces H2O_HPACK_MAX_HEADERS_HARD_LIMIT (1000), which raises a hard COMPRESSION error and closes the connection when exceeded, and enforces the H2O_MAX_HEADERS soft cap when adding decoded headers so oversized field sections no longer accumulate unbounded state.

Know when H2O 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

Vendor (github) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote, unauthenticated, low-complexity HTTP/2 request path (AV:N/AC:L/PR:N/UI:N); memory-exhaustion DoS gives A:H with no confidentiality or integrity impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

DescriptionCVE.org

h2o is an HTTP server with support for HTTP/1.x, HTTP/2 and HTTP/3. Prior to commit 9265bdd, there is an HTTP/2 state amplification issue that combines HPACK decompression amplification with Slowloris-style stream stalling. Amplified decoded header state can be retained by stalled HTTP/2 streams, and depending on the configuration, additional limits are needed to bound decoded header state and prevent attack. This issue has been fixed by commit 9265bdd.

Executive ViewAI

Why It Matters

The h2o HTTP server (all versions prior to commit 9265bdd) is vulnerable to remote denial of service attacks that exhaust server memory through crafted HTTP/2 requests, causing service degradation or outages. Any organization deploying h2o in production faces immediate availability risk, with no vendor patch currently available to remediate the issue.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include: enforce aggressive per-connection stream limits and total concurrent stream caps, implement connection timeouts (60-120 seconds), restrict maximum HPACK header decompression size, rate-limit requests per source IP, and monitor server memory utilization for anomalous allocation patterns indicative of active exploitation attempts.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Low
niche high-performance HTTP/2 server, limited footprint versus nginx/Apache
Data Quality
6 sources
Confidence: High
NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Affected Products (CPE)CVE.org

cpe:2.3:a:h2o:h2o:*:*:*:*:*:*:*:*

More in H2O

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2024-10553 CRITICAL POC
9.8 Mar 20

A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra

CVE-2025-6544 CRITICAL POC
9.8 Sep 21

A deserialization vulnerability exists in h2oai/h2o-3 versions <= 3.46.0.8, allowing attackers to read arbitrary system

CVE-2023-6016 CRITICAL POC
9.8 Nov 16

An attacker is able to gain remote code execution on a server hosting the H2O dashboard through it's POJO model import f

CVE-2024-45758 CRITICAL POC
9.1 Sep 06

H2O.ai H2O through 3.46.0.4 allows attackers to arbitrarily set the JDBC URL, leading to deserialization attacks, file r

CVE-2024-8616 HIGH POC
8.2 Mar 20

In h2oai/h2o-3 version 3.46.0, the `/99/Models/{name}/json` endpoint allows for arbitrary file overwrite on the target s

CVE-2023-6569 HIGH POC
8.2 Dec 14

External Control of File Name or Path in h2oai/h2o-3. Rated high severity (CVSS 8.2), this vulnerability is remotely exp

CVE-2024-7765 HIGH POC
7.5 Mar 20

In h2oai/h2o-3 version 3.46.0.2, a vulnerability exists where uploading and repeatedly parsing a large GZIP file can cau

CVE-2024-10550 HIGH POC
7.5 Mar 20

A vulnerability in the `/3/ParseSetup` endpoint of h2oai/h2o-3 version 3.46.0.1 allows for a denial of service (DoS) att

CVE-2024-10549 HIGH POC
7.5 Mar 20

A vulnerability in the `/3/Parse` endpoint of h2oai/h2o-3 version 3.46.0.1 allows for a denial of service (DoS) attack.

CVE-2024-7768 HIGH POC
7.5 Mar 20

A vulnerability in the `/3/ImportFiles` endpoint of h2oai/h2o-3 version 3.46.1 allows an attacker to cause a denial of s

CVE-2024-10572 HIGH POC
7.5 Mar 20

In h2oai/h2o-3 version 3.46.0.1, the `run_tool` command exposes classes in the `water.tools` package through the `ast` p

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy