Jun 16, 2026·6 min read·22 visits
A cryptographic flaw in Netty's default QUIC Connection ID generator leaks secret Stateless Reset Tokens into unencrypted packet headers, allowing on-path attackers to inject spoofed resets and terminate active client sessions.
CVE-2026-50009 is a cryptographic design vulnerability in the Netty network application framework. Prior to version 4.2.15.Final, the framework's QUIC protocol implementation fails to cryptographically segregate the generated Connection IDs and the associated Stateless Reset Tokens. An on-path network attacker who sniffs traffic during a Connection ID rotation can extract secret token material from cleartext headers, enabling them to inject spoofed reset packets and terminate active connections.
CVE-2026-50009 describes a cryptographic design flaw in the Netty network application framework. The vulnerability specifically affects the QUIC transport protocol implementation when configured with default HMAC-based Connection ID (CID) and stateless reset token generators. Under specific network conditions, the 16-byte Stateless Reset Token is exposed directly on the network path.
In the QUIC protocol, a stateless reset token must remain secret to prevent unauthorized connection teardowns. The flaw in Netty prior to version 4.2.15.Final permits an on-path attacker to observe rotated CID headers and reconstruct or extract the associated Stateless Reset Token. With this token, the attacker can construct a spoofed Stateless Reset packet to terminate the session.
The vulnerability is classified under CWE-200 (Exposure of Sensitive Information to an Unauthorized Actor) and CWE-330 (Use of Insufficiently Random Values). It presents a vector for targeted Denial of Service (DoS) attacks against active QUIC sessions. The vulnerability has been resolved in Netty version 4.2.15.Final.
The root cause of CVE-2026-50009 lies in the cryptographic generation logic of the Connection IDs and Stateless Reset Tokens. In a secure QUIC implementation, these two values must be cryptographically independent. This independence is typically achieved by using distinct cryptographic keys or separate Key Derivation Function (KDF) paths.
Prior to version 4.2.15.Final, Netty's default HMAC-based CID and stateless reset token generator did not maintain this cryptographic segregation. The implementation reuse of the underlying HMAC state or overlapping input parameters resulted in a direct cryptographic relationship between the two outputs.
Specifically, when a source Connection ID rotation occurs, key material representing the active Stateless Reset Token is embedded within the cleartext bytes of the newly rotated Connection ID. Because QUIC packet public headers are transmitted unencrypted to facilitate routing, an observer on the network path can easily capture these headers. This on-path observer can then extract the exposed bytes and compute the associated 16-byte Stateless Reset Token.
The vulnerable implementation failed to isolate the key derivation paths for Connection IDs and Stateless Reset Tokens. Below is a conceptual representation of the vulnerable generation logic contrasted with the corrected implementation.
In the vulnerable implementation, the same HMAC context is reused without adequate differentiation:
// VULNERABLE
public byte[] generateResetToken(byte[] connectionId) {
// Both CID and token share the same key and derivation path
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(secretKey);
byte[] output = mac.doFinal(connectionId);
// The first 16 bytes are used as the token, while subsequent rotations leak state
return Arrays.copyOf(output, 16);
}The fix implemented in Netty 4.2.15.Final introduces strict separation using separate HKDF info labels or independent keys. This ensures that the generated Connection ID does not leak information regarding the stateless reset token:
// PATCHED
public byte[] generateResetToken(byte[] connectionId) {
Mac mac = Mac.getInstance("HmacSHA256");
// Separate key or distinct domain separation prefix is utilized
mac.init(tokenDerivationKey);
mac.update(RESET_TOKEN_PREFIX);
byte[] output = mac.doFinal(connectionId);
return Arrays.copyOf(output, 16);
}This modification ensures that the output is cryptographically decoupled from the public Connection ID, preventing an observer from deriving the secret token from sniffed packet headers.
Exploitation of CVE-2026-50009 requires the attacker to occupy an on-path position, enabling them to sniff and inject network traffic between the target client and the Netty server. An off-path attacker cannot exploit this vulnerability because they cannot intercept the unencrypted QUIC headers containing the rotated Connection ID.
To execute the attack, the adversary first monitors the connection to detect a Connection ID rotation event. Upon identifying the rotation, the attacker extracts the destination Connection ID from the cleartext QUIC header. Using the mathematical relationship present in the vulnerable HMAC generation algorithm, the attacker extracts the bytes of the active Stateless Reset Token.
Once the token is derived, the attacker constructs a standard QUIC Stateless Reset packet. This packet contains a short header and terminates with the 16-byte Stateless Reset Token. The attacker then transmits this packet to the client, spoofing the source IP address of the Netty server. The client validates the token and immediately terminates the active connection.
The primary impact of CVE-2026-50009 is a targeted Denial of Service (DoS) against individual active QUIC sessions. An attacker can forcefully terminate connections of monitored users without needing credentials or authentication. The vulnerability does not allow an attacker to decrypt the application payloads or execute arbitrary code.
The Common Vulnerability Scoring System (CVSS) v3.1 score is 4.8 (Medium). The vector string is CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L. This reflects the high complexity of the attack, which requires on-path sniffing, balanced against the low confidentiality impact (disclosure of the reset token) and low availability impact (termination of individual sessions rather than server-wide crashes).
According to the Exploit Prediction Scoring System (EPSS), the probability of exploitation is currently low. There are no active exploitation campaigns or public weaponized proof-of-concepts recorded in the CISA Known Exploited Vulnerabilities catalog.
The most effective remediation is upgrading the Netty dependency to version 4.2.15.Final or later. This release addresses the vulnerability by enforcing cryptographic independence between Connection IDs and Stateless Reset Tokens using domain separation.
If upgrading is not immediately possible, administrators must implement workarounds. The primary workaround is to configure the Netty QUIC engine to use custom generators instead of the default HMAC-based CID and stateless reset token generators. The custom generator should derive Connection IDs and Stateless Reset Tokens from separate keys or distinct HKDF context parameters.
Additionally, network operators can implement anti-spoofing filters, such as BCP 38, at network boundaries. These filters can help prevent the injection of spoofed UDP packets containing the stateless reset token if they originate from outside the legitimate network path.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L| Product | Affected Versions | Fixed Version |
|---|---|---|
Netty Netty | >= 4.2.0.Final, < 4.2.15.Final | 4.2.15.Final |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-200, CWE-330 |
| Attack Vector | Network (AV:N) |
| CVSS Score | 4.8 (Medium) |
| EPSS Score | 0.00204 (10.32% percentile) |
| Impact | Connection Denial of Service (DoS) |
| Exploit Status | none |
| KEV Status | Not Listed |
Exposure of Sensitive Information to an Unauthorized Actor / Use of Insufficiently Random Values
An LDAP injection vulnerability exists in the centraldogma-server-auth-shiro module of LY Corporation Central Dogma before version 0.84.0. The search logic dynamically constructs LDAP search filters by interpolating user-provided usernames without escaping RFC 4515 metacharacters. Unauthenticated remote attackers can leverage this flaw to bypass authentication, enumerate directory hierarchies, and access unauthorized resources.
CVE-2026-11746 is a critical vulnerability in Central Dogma Server prior to version 0.84.0, where an embedded ZooKeeper replication secret silently falls back to a publicly known, hard-coded default string ('ch4n63m3'). Remote attackers with access to the replication network can authenticate as legitimate cluster peers, potentially leading to unauthorized data exposure, state manipulation, or complete cluster takeover.
A logical verification flaw in ZITADEL's external JWT Identity Provider validation allows attackers to bypass session expiration checks. If an incoming JWT lacks the 'exp' claim, the system skips validation entirely, creating an indefinitely valid session. This issue has been addressed in versions 3.4.12 and 4.15.2.
CVE-2026-59149 identifies a directory traversal vulnerability in `@mockoon/commons-server`, the backend mock-server library powering the Mockoon application. The flaw occurs in the path containment validation logic used during raw file response generation. An unauthenticated attacker can exploit this weakness to retrieve arbitrary files from sibling directories sharing a common prefix with the designated static base directory.
An in-depth analysis of CVE-2026-59148, a high-severity flaw in Mockoon where unauthenticated administrative endpoints and a wildcard Cross-Origin Resource Sharing (CORS) policy allow remote execution, state poisoning, and credential theft.
An improper authentication vulnerability (CWE-287) in ZITADEL's external identity provider handler before version 4.15.3 allows remote attackers to perform complete account takeover. When auto-linking by email is enabled, ZITADEL verifies that the local target account has a verified email address but fails to verify if the external provider confirmed ownership of that same email. Attackers can exploit this by registering an unverified account with a victim's email address on a permissive external provider, leading to unauthorized account binding and persistent access.