CVE-2026-100662: Netty HTTP/3 QPACK encoder-stream unbounded memory exhaustion DoS

Published Sep 26, 2026
·
Updated

Netty's HTTP/3 codec (io.netty:netty-codec-http3) versions 4.2.0.Final through 4.2.17.Final contain an uncontrolled resource consumption vulnerability in the QPACK encoder-stream instruction decoder (QpackEncoderHandler, installed on the peer-initiated unidirectional QPACK encoder stream, type 0x02). The handler accepts an attacker-declared string-literal length of up to Integer.MAXVALUE (~2 GiB) for the Name Length and Value Length fields of the "Insert With Literal Name" instruction (RFC 9204 §4.3.3), with no per-instruction or per-literal length cap and no cumulation-size limit; the existing HTTP/3 limits (maxHeaderListSize, maxUnknownFramePayloadLength, DEFAULTMAXFIELDSECTIONSIZE) are not applied to this handler. A remote, unauthenticated peer with an established HTTP/3 connection to a default Netty HTTP/3 server can declare a very large literal length and then trickle fewer bytes than declared, causing the ByteToMessageDecoder MERGE cumulator to retain and grow the per-connection buffer, and ultimately triggering a large byte-array allocation. This leads to unbounded per-connection heap growth and OutOfMemoryError, resulting in denial of service. Fixed in 4.2.18.Final.

Affected Software

1 affected component
maven/io.netty/netty-codec-http3>=4.2.0.Final<=4.2.17.Final

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade io.netty:netty-codec-http3 to a version that resolves this vulnerability.

    Fixed in 4.2.18.Final

Event History

Sep 26, 2026
CVE Published
via MITRE·01:23 PM
Data Sourced
via MITRE·01:23 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·02:16 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments using io.netty:netty-codec-http3 versions 4.2.0.Final through 4.2.17.Final are affected. A default Netty HTTP/3 server is exposed when it accepts an established HTTP/3 connection from a remote peer.

2

What does an attacker need to exploit this issue?

The attacker needs only an established HTTP/3 connection and does not need authentication or user interaction. They can declare a very large literal length on the peer-initiated QPACK encoder stream and send fewer bytes than declared over time.

3

What is the practical impact on an affected server?

The per-connection decoder buffer can continue growing until a large byte-array allocation is attempted. This can exhaust heap memory, trigger an OutOfMemoryError, and cause denial of service.

4

What version resolves the issue?

The issue is fixed in io.netty:netty-codec-http3 4.2.18.Final. Versions from 4.2.0.Final through 4.2.17.Final should be treated as affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203