Skip to main content

Netty HTTP/3 codec EUVDEUVD-2026-87754

| CVE-2026-100660 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-09-26 VulnCheck GHSA-8rpm-pm7h-f5fv
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Open HTTP/3 QUIC connection to server
  2. Delivery
    Advertise non-zero QPACK dynamic-table capacity
  3. Exploit
    Ack insertion to force dynamically-indexed response header
  4. Execution
    Issue sequential requests omitting all Section Acknowledgments
  5. Persist
    Per-stream encoder state retained unbounded
  6. Impact
    Heap exhaustion crashes server (DoS)

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation 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

Requires the target to run a Netty HTTP/3 server using netty-codec-http3 between 4.2.0.Final and 4.2.17.Final, with QPACK dynamic-table indexing in effect - i.e., the server must reuse a dynamically-indexed response header after the client advertises a non-zero QPACK dynamic-table capacity and acknowledges the insertion. Exploitation itself needs no authentication or user interaction (PR:N/UI:N) and is performed over a single QUIC connection, bypassing concurrent-stream limits by withholding mandatory Section Acknowledgments. The practical limiter is deployment scope: only Internet-facing HTTP/3 (QUIC) endpoints built on Netty are exposed, and HTTP/3 support on Netty is not yet widely enabled in production.

Impact

This is a genuine but bounded availability risk. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H, all confidentiality/integrity metrics N) is internally consistent with the description: a remote, unauthenticated attacker over the network triggers unbounded heap growth leading to memory-exhaustion DoS, with no data compromise. The vendor score of 8.7 is driven entirely by VA:H (high availability impact) combined with easy network reachability. No EPSS score, no CISA KEV listing, and no public POC are present in the input, so the 8.7 reflects theoretical severity rather than demonstrated exploitation - treat it as a high-severity-but-unproven-in-the-wild issue. A meaningful real-world limiter not captured by the raw CVSS is that the target must be an HTTP/3 (QUIC) endpoint built on netty-codec-http3 AND must reuse dynamically-indexed QPACK response headers; HTTP/3 server deployment on Netty is still comparatively uncommon, which narrows the exposed population. No signals conflict; the main gap is the absence of exploitation-probability data (EPSS/KEV/POC all unstated).

Exploit ScenarioDerived

An attacker opens a single QUIC/HTTP/3 connection to a Netty-based server, advertises a non-zero QPACK dynamic-table capacity, and acknowledges a table insertion so the server begins reusing a dynamically-indexed response header. The attacker then fires a rapid stream of sequential requests while deliberately withholding every mandatory QPACK Section Acknowledgment, causing the QpackEncoder to retain per-stream state indefinitely until the JVM heap is exhausted and the server crashes. No authentication or user interaction is required; no public exploit code is identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Sep 26, 2026

Unbounded heap growth in Netty's HTTP/3 codec (io.netty:netty-codec-http3) 4.2.0.Final through 4.2.17.Final allows a remote, unauthenticated HTTP/3 client to exhaust server memory and cause a denial of service. The QpackEncoder retains per-stream encoder state indefinitely because entries are only released when the peer sends a Section Acknowledgment or Stream Cancellation instruction, not when the HTTP/3 stream completes; an attacker advertising a non-zero QPACK dynamic-table capacity and withholding those acknowledgments across sequential requests on a single QUIC connection can accumulate unbounded tracked streams, field sections, and bytes, bypassing concurrent-stream limits. No public exploit code has been identified at time of analysis, and no CISA KEV confirmation of active exploitation is present; the practical exposure is limited because Netty's HTTP/3 (QUIC) support is not yet widely enabled in production. Vendor-released patch: 4.2.18.Final (GHSA-495p-pchh-r4mc).

RemediationAI

Upgrade to Netty 4.2.18.Final, which contains the vendor-released fix for the unbounded QPACK encoder state retention; the vendor advisory is at https://github.com/netty/netty/security/advisories/GHSA-495p-pchh-r4mc and the VulnCheck advisory at https://www.vulncheck.com/advisories/netty-before-4.2.18-final-qpackencoder-unbounded-memory-retention. If upgrading is not immediately feasible, the most effective compensating control is to remove the attack surface: disable HTTP/3 (QUIC) listeners on Netty-based services, or ensure they are not Internet-facing, accepting the trade-off that HTTP/3 clients lose QUIC-based connectivity and may fall back to HTTP/1.1 or HTTP/2 over TCP. Where Netty configuration or a fronting proxy permits, preventing or disabling QPACK dynamic-table indexing for the server's encoder (for example negotiating a dynamic-table capacity of zero for HTTP/3 connections) breaks the prerequisite that a dynamically indexed response header be reused, at the cost of reduced header-compression efficiency and somewhat larger headers. Additional containment options include enforcing strict per-source connection limits and per-connection request throttling so a single QUIC connection cannot issue unbounded sequential requests, and monitoring Netty processes (or setting container memory limits with restart-on-OOM semantics) so memory growth from this condition is detected and contained; these are mitigations only and do not replace applying 4.2.18.Final.

Affected VersionsENISA

netty 0 <4.2.18.Final

Affected Packages

euvd netty fix: 4.2.18.Final

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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 Netty's QPACK encoder implementation within netty-codec-http3, which handles QPACK (RFC 9204) header compression for HTTP/3 over QUIC. QPACK offers two modes: static-table references and a dynamic table negotiated via SETTINGS_QPACK_MAX_TABLE_CAPACITY; when a peer advertises a non-zero dynamic-table capacity, the encoder may insert entries and reference them by dynamic index. Correct QPACK operation requires the decoder to confirm processing of dynamic-table references with Section Acknowledgment instructions, and to signal abandonment with Stream Cancellation instructions; the encoder uses these signals to know when a given stream's outstanding references have been resolved and the associated state can be freed. In affected versions, QpackEncoder keeps a queue plus a dynamic-table index tracker keyed by the peer-controlled QUIC stream ID for every encoded field section referencing the dynamic table, releasing those entries only upon Section Acknowledgment or Stream Cancellation. Because the release condition depends entirely on attacker-controlled protocol messages rather than on HTTP/3 stream lifecycle, and because there is no cap on tracked streams, tracked field sections, or retained bytes, the structure grows without bound. The root-cause class is CWE-770 (Allocation of Resources Without Limits or Throttling), and the CPE cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:* confirms the netty artifact family is the affected package; the ENISA EUVD record (EUVD-2026-87754) separately lists the affected range as netty < 4.2.18.Final.

Know when Netty 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 (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote unauthenticated attacker with no interaction over an HTTP/3 endpoint (AV:N/AC:L/PR:N/UI:N); impact is memory-exhaustion DoS only, so A:H with C:N/I:N.

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
Red Hat 7.5 HIGH

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Sep 26, 2026 - 14:02 EUVD
CVE Published
Sep 26, 2026 - 13:23 cve.org
HIGH 8.7

DescriptionCVE.org

Netty's HTTP/3 codec (io.netty:netty-codec-http3) from 4.2.0.Final through 4.2.17.Final retains unbounded per-stream QPACK encoder state. QpackEncoder stores a queue and a dynamic-table index tracker for every encoded field section that references the QPACK dynamic table, keyed by the peer-controlled QUIC stream ID, and these entries are released only when the remote decoder sends a Section Acknowledgment or Stream Cancellation instruction - not when the HTTP/3 stream completes. There is no limit on the number of tracked streams, field sections, or retained bytes. A remote, unauthenticated HTTP/3 client can advertise a non-zero QPACK dynamic-table capacity, acknowledge the table insertion so the server reuses a dynamically indexed response header, and then omit all mandatory Section Acknowledgments while issuing sequential requests over a single QUIC connection, bypassing concurrent-stream limits and causing unbounded heap growth until the server exhausts memory (denial of service). Fixed in 4.2.18.Final.

Technical POC Analysis

CWE-770 (Allocation of Resources Without Limits or Throttling) in io.netty:netty-codec-http3, class QpackEncoder.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Netty's HTTP/3 codec, used in Java-based services that enable QUIC/HTTP-3 endpoints, contains a memory-exhaustion flaw (CVE-2026-100660) that a remote client can trigger by withholding QPACK acknowledgments, depleting server memory and causing denial of service. Because Netty HTTP/3 support is not yet widely enabled in production, the immediate organizational exposure is limited to teams that have already activated QUIC endpoints, but any internet-facing service in that group could be knocked offline. Leadership should prioritize confirming whether affected Netty versions are present and remediating to the vendor patch, since the cost of an outage outweighs a straightforward dependency upgrade.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 71% exploitable
Prevalence
Medium
Netty is ubiquitous, but the vulnerable HTTP/3 codec module is newer and less deployed
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

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.4%
Patch available Yes
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
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
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.

More in Netty

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-2019-16869 HIGH POC
7.5 Sep 26

Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked

CVE-2026-56820 CRITICAL POC
9.1 Jul 21

Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec

CVE-2024-36121 CRITICAL POC
9.1 Jun 04

netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit

CVE-2024-40642 HIGH POC
8.1 Jul 18

The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit

CVE-2025-24970 HIGH POC
7.5 Feb 10

Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final

CVE-2026-59902 HIGH POC
7.5 Aug 17

Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to

CVE-2026-55833 HIGH POC
7.5 Jul 20

Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F

CVE-2026-55831 HIGH POC
7.5 Jul 20

Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16

CVE-2026-56816 HIGH POC
7.5 Jul 21

Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final

CVE-2026-59903 HIGH POC
7.5 Aug 17

Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an

CVE-2026-48748 HIGH POC
7.5 Jun 12

Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una

Vendor StatusVendor

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