---
id: CVE-2026-100661
title: >-
  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 numbe…
summary: >-
  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 numbe…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-400
  - CWE-770
vendor: netty
product: netty
affected:
  - netty >= 4.2.0.Final < 4.2.18.Final
published: '2026-09-26'
updated: '2026-10-02'
sourceUpdated: '2026-10-02T21:16:53.830'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100661'
references:
  - url: 'https://github.com/netty/netty/security/advisories/GHSA-v5p2-hmgx-3xrx'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/netty-http-3-qpack-prefixed-integer-dos-via-unbounded-accumulation
    label: disclosure@vulncheck.com
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-100661.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-100661'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2541889'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-100661'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100661'
tags:
  - nvd
  - cve.org
  - csaf
  - vex
  - red-hat
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-02T20:46:18.296589Z'
epss: 0.00344
epssPercentile: 0.27737
ingestedAt: '2026-09-26T13:33:20.916Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **Red Hat VEX** · Important · affected: Red Hat OpenShift Dev Spaces · no fix planned: Red Hat OpenShift Dev Spaces · updated 2026-10-06 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-100661.json)
