Description
Netty's HTTP/3 codec (io.netty:netty-codec-http3) versions 4.2.0.Final through 4.2.17.Final contain a denial-of-service vulnerability in the QPACK prefixed-integer decoder (QpackUtil.decodePrefixedInteger), which does not bound the number of continuation bytes it will process. A remote, unauthenticated peer can open a QPACK unidirectional stream (type 0x02 encoder or 0x03 decoder) and send a first byte with all prefix bits set (e.g. 0xFF for a 7-bit prefix or 0x3F for a 5-bit prefix) followed by an endless run of 0x80 continuation bytes. The decoder returns -1 ('need more bytes'), so callers never consume the input, the ByteToMessageDecoder cumulator grows without bound, and each decode() invocation re-scans the whole accumulated buffer, yielding O(N^2) CPU cost. The result is unbounded per-connection heap growth (OutOfMemoryError) and event-loop CPU starvation, reachable in every configuration. Fixed in 4.2.18.Final.
Published: 2026-09-26
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch Immediately
AI Analysis

Impact

Netty's HTTP/3 codec contains a denial‑of‑service flaw in the QPACK prefixed‑integer decoder. The decoder accepts an unbounded number of continuation bytes, causing the internal buffer to grow without limit. When a remote peer sends a specially crafted stream filled with continuation bytes, the decoder continuously returns a request to read more data, and the accumulated buffer size grows until the process runs out of memory. The CPU cost rises quadratically because each decode call rescans the entire buffer, resulting in event‑loop starvation. The net effect is an OutOfMemoryError and loss of service for honest connections.

Affected Systems

The issue affects any deployment that includes Netty 4.2.0.Final through 4.2.17.Final in the HTTP/3 codec module (io.netty:netty-codec-http3). It is relevant for all environments that use Netty's HTTP/3 support, regardless of the higher‑level application stack.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity. No EPSS score is reported, but the vulnerability can be triggered by any unauthenticated HTTP/3 client without special privileges. The flaw is reachable in every configuration of Netty's HTTP/3 support, making a DoS attack practical. The flaw is not listed in the CISA KEV catalog, which suggests that active exploitation may not yet be widespread.

Generated by OpenCVE AI on September 27, 2026 at 01:22 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Netty 4.2.18.Final or later.
  • If upgrade is not immediately possible, block or rate‑limit QPACK unidirectional streams to prevent oversized continuation streams.
  • Monitor for CPU exhaustion or memory spikes in Netty event loops and apply hard caps on request queue lengths or buffer sizes when feasible.

Generated by OpenCVE AI on September 27, 2026 at 01:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 02 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 27 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References
Metrics threat_severity

None

threat_severity

Important


Sat, 26 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Description Netty's HTTP/3 codec (io.netty:netty-codec-http3) versions 4.2.0.Final through 4.2.17.Final contain a denial-of-service vulnerability in the QPACK prefixed-integer decoder (QpackUtil.decodePrefixedInteger), which does not bound the number of continuation bytes it will process. A remote, unauthenticated peer can open a QPACK unidirectional stream (type 0x02 encoder or 0x03 decoder) and send a first byte with all prefix bits set (e.g. 0xFF for a 7-bit prefix or 0x3F for a 5-bit prefix) followed by an endless run of 0x80 continuation bytes. The decoder returns -1 ('need more bytes'), so callers never consume the input, the ByteToMessageDecoder cumulator grows without bound, and each decode() invocation re-scans the whole accumulated buffer, yielding O(N^2) CPU cost. The result is unbounded per-connection heap growth (OutOfMemoryError) and event-loop CPU starvation, reachable in every configuration. Fixed in 4.2.18.Final.
Title Netty HTTP/3 QPACK Prefixed Integer DoS via Unbounded Accumulation
First Time appeared Netty
Netty netty
Weaknesses CWE-400
CPEs cpe:2.3:a:netty:netty:*:*:*:*:*:*:*:*
Vendors & Products Netty
Netty netty
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 8.7, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-10-02T20:46:26.627Z

Reserved: 2026-09-26T02:33:59.039Z

Link: CVE-2026-100661

cve-icon Vulnrichment

Updated: 2026-10-02T20:46:22.564Z

cve-icon NVD

Status : Deferred

Published: 2026-09-26T14:16:49.110

Modified: 2026-10-02T21:16:53.830

Link: CVE-2026-100661

cve-icon Redhat

Severity : Important

Publid Date: 2026-09-26T13:23:28Z

Links: CVE-2026-100661 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-27T01:30:19Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling