CVE-2026-50009
Java vulnerability analysis and mitigation

Overview

CVE-2026-50009 is a QUIC stateless reset token exposure vulnerability in Netty, a Java network application framework. The flaw affects the io.netty:netty-codec-classes-quic package in versions 4.2.0.Final through 4.2.14.Final, allowing an on-path attacker to derive the stateless reset token from observable QUIC connection ID headers and use it to perform a Denial of Service. The advisory was published on June 5, 2026, and the CVE was assigned on June 12, 2026. It carries a CVSS v3.1 base score of 4.8 (Moderate) (Github Advisory, Netty Security Advisory).

Technical details

The root cause is a cryptographic design flaw classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and CWE-330 (Use of Insufficiently Random Values). Both HmacSignQuicConnectionIdGenerator and HmacSignQuicResetTokenGenerator use HMAC-SHA256 with the same JVM-wide static key (io.netty.handler.codec.quic.Hmac). During source CID rotation in QuicheQuicChannel.newSourceConnectionIds, the current server source CID C is used to produce the next CID N as the first L bytes of HMAC(K, C), while the stateless reset token for C is defined as the first 16 bytes of the same digest. When L ≥ 16, the new connection ID N — which is transmitted in plaintext QUIC headers — directly contains the stateless reset token for C, violating RFC 9000's requirement that reset tokens must be difficult to guess. An on-path attacker can passively observe QUIC headers, extract the token, and craft a spoofed Stateless Reset datagram to abruptly terminate active connections (Netty Security Advisory).

Impact

Successful exploitation results in both information disclosure (low confidentiality impact) and availability disruption (low availability impact) with no integrity impact. An unauthenticated on-path attacker can abruptly terminate active QUIC connections on the server by sending a spoofed Stateless Reset packet, effectively causing a Denial of Service for affected clients. The scope is limited to QUIC-based connections using Netty's default HMAC-based generators; applications using custom connection ID or reset token generators are not affected (Github Advisory, Netty Security Advisory).

Exploitation steps

  1. Positioning: Attain an on-path network position between a QUIC client and a Netty server running versions 4.2.0.Final–4.2.14.Final (e.g., via ARP spoofing, BGP hijacking, or a compromised network node).
  2. Passive observation: Capture QUIC UDP traffic and monitor QUIC long or short header packets to observe source connection ID (CID) rotation events, where the server advertises a new connection ID N in a NEW_CONNECTION_ID frame.
  3. Token extraction: Extract the first 16 bytes of the new connection ID N from the observed QUIC header. Due to the shared HMAC key flaw, these bytes are identical to the stateless reset token for the previous source CID C.
  4. Craft spoofed reset packet: Construct a spoofed QUIC Stateless Reset datagram containing the extracted 16-byte token, addressed to the client, with a source IP/port matching the server.
  5. Send and disrupt: Transmit the spoofed datagram to the client. The client, upon receiving a valid stateless reset token, will abruptly close the QUIC connection, achieving Denial of Service (Netty Security Advisory).

Indicators of compromise

  • Network: Unexpected QUIC Stateless Reset datagrams (short header packets with a valid reset token) arriving from IP addresses not matching the legitimate server; anomalous UDP traffic patterns targeting QUIC endpoints.
  • Logs: Sudden or repeated QUIC connection terminations logged by the Netty server or client without a corresponding application-level close event; connection drop events coinciding with CID rotation.
  • Process/Application: Elevated rate of QUIC connection resets or client reconnection attempts in application metrics; unexpected spikes in QUIC session teardown events in server telemetry.

Mitigation and workarounds

Upgrade io.netty:netty-codec-classes-quic to version 4.2.15.Final, which patches the issue by decoupling the HMAC inputs for connection ID generation and stateless reset token generation (Netty Release). If immediate patching is not feasible, consider implementing custom QuicConnectionIdGenerator and QuicResetTokenGenerator instances that use independent keys or distinct HMAC inputs to prevent token derivation from observable connection IDs. Additionally, network segmentation and monitoring for anomalous QUIC Stateless Reset packets can help detect exploitation attempts in the interim (Github Advisory).

Community reactions

The vulnerability was reported by researcher violetagg and published by Netty maintainer chrisvest as part of a large batch of security fixes in the 4.2.15.Final release, which addressed over 20 CVEs simultaneously (Netty Release). No significant broader media coverage or notable social media commentary has been identified beyond standard vulnerability database aggregation.

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-54609HIGH8.6
  • JavaScript logoJavaScript
  • qti-neon
NoNoJul 28, 2026
CVE-2026-43910HIGH8.2
  • Java logoJava
  • io.appium:java-client
NoYesJul 28, 2026
CVE-2026-56822HIGH7.4
  • Java logoJava
  • cassandra-5.0
NoYesJul 29, 2026
CVE-2026-56821HIGH7.4
  • Java logoJava
  • apache-hop
NoYesJul 29, 2026
CVE-2026-59921MEDIUM5.7
  • Java logoJava
  • strimzi-kafka-operator-fips
NoYesJul 28, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management