Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to TLS server with session tickets enabled
-
DeliveryInitiate handshake invoking ssl_tlsext_ticket_key_cb
-
ExploitServer concurrently rotates keys, freeing shared key array
-
ExecutionCallback dereferences stale pointer into freed HMAC key memory
-
ImpactCrash server process (SIGSEGV / ticket corruption, DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of: (1) netty-tcnative built/linked against OpenSSL 3.0 or newer - the OPENSSL_VERSION_NUMBER >= 0x30000000L EVP_MAC code path; builds against OpenSSL < 3.0 use HMAC_Init_ex and are NOT affected; (2) TLS session tickets enabled, which is the library's default; and (3) the server operator actively performing in-place session-ticket-key rotation via SSLContext.setSessionTicketKeys0() concurrently with live handshakes - the race cannot occur without an in-flight rotation. The network/handshake side is unauthenticated (PR:N), but the limiting factor is the race window itself: in unmodified code it is only a few CPU instructions wide (lock release to pointer dereference, no I/O between), so reliably landing it in practice needs high rotation frequency combined with high concurrent handshake volume on a busy production server. The only confirmed impact is an availability crash; a confidentiality angle was deliberately excluded by the advisory as unconfirmed. |
| Impact | Signals diverge in severity but agree on mechanism. The input CVSS 4.0 vector scores 8.2 (High), driven entirely by VA:H over a network vector (AV:N/PR:N/UI:N), while the vendor GHSA advisory independently scores CVSS 3.1 at 5.9 (Medium) using AC:H. The apparent conflict is reconciled by the race nature of the bug: the 4.0 vector encodes the timing precondition as AT:P with AC:L, whereas the 3.1 vector folds the narrow nanosecond window into AC:H. Both vectors concur that impact is availability-only - C and I are N - so this is a denial-of-service / memory-corruption crash, not an information-disclosure or RCE issue (the advisory explicitly excludes an unconfirmed confidentiality angle from its score). No EPSS score and no CISA KEV entry are present in the input, so there is no evidence of active or widespread exploitation; the vuln.today Decision label is this_week, not act_now or emergency. Crucially, a remote client cannot unilaterally trigger the flaw: it requires the server operator to be performing in-place session-ticket-key rotation via setSessionTicketKeys0() concurrently with live handshakes, and in unmodified code the window is only a handful of instructions wide. Realistic priority is therefore moderate - a credible DoS against busy servers that rotate ticket keys under load, warranting prompt patching on a normal cadence rather than emergency response. |
| Exploit ScenarioDerived | An unauthenticated remote client repeatedly performs TLS handshakes against a Netty/netty-tcnative server built on OpenSSL 3.x with session tickets enabled (the default) while the operator rotates session-ticket keys under load; if a handshake's ticket callback lands in the gap after the read lock is released but before the stale embedded pointer is dereferenced, the concurrent rotation frees the key array and OpenSSL reads freed HMAC key memory, crashing the process. No standalone weaponized public exploit code is published, but the GHSA advisory documents a hard, repeatable SIGSEGV crash reproduced on the compiled artifact (using race-widening instrumentation to make the genuine nanosecond-scale race deterministically observable). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 26, 2026
A use-after-free in netty-tcnative 2.0.66.Final through 2.0.83.Final builds linked against OpenSSL 3.0 or newer lets a TLS handshake crash the server process when it issues or resumes a session ticket at the same moment the operator rotates ticket keys through SSLContext.setSessionTicketKeys0(). The handshake side of the race is reachable by unauthenticated remote clients (PR:N, UI:N), but the limiting precondition is the operator-initiated rotation happening inside a window only a few CPU instructions wide, which is why the assessed vector carries AT:P and AC:H and the reported CVSS 4.0 score of 8.2 resolves to an assessed CVSS 3.1 base of 5.9 with confidentiality and integrity impact unconfirmed and only availability (A:H) demonstrated. No CISA KEV entry exists and no weaponized exploit code has been identified, though the public advisory documents a reporter-side, repeatable SIGSEGV reproduction on a real compiled openssl-dynamic build using a race-widened test harness; patched builds are available and the priority label is this_week.
RemediationAI
Upgrade to netty-tcnative 2.0.84.Final, the vendor-released fix; commit 59662a8b07a9a7623ae1bc472f5751f31c81a118 removes the embedded OSSL_PARAM array from tcn_ssl_ticket_key_t and instead builds a stack-local params set through the new fill_mac_params() helper inside ssl_tlsext_ticket_key_cb, so no pointer into the freed ticket-key array survives the lock release. Because the race cannot occur without an in-flight rotation, environments that cannot upgrade immediately can eliminate exposure by suspending calls to SSLContext.setSessionTicketKeys0() for the lifetime of the vulnerable build, at the cost of no longer rotating session-ticket keys (a compliance and forward-secrecy trade-off for TLS 1.2/1.3 resumption tickets); alternatively, disable session tickets entirely on affected contexts, which removes the callback path but costs full handshakes for every reconnect. Downgrading or rebuilding the native library against an OpenSSL release older than 3.0 also avoids the flawed EVP_MAC branch, though it sacrifices OpenSSL 3.x features. Lowering rotation frequency sharply reduces the probability of hitting the nanosecond window but does not remove the race, so it is not a complete fix.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
netty-tcnative is the JNI/April-native bridge that lets Java applications (including Netty-based TLS servers) drive OpenSSL directly, and its session-ticket handling code sits in openssl-dynamic/src/main/c/sslcontext.c. Under the OPENSSL_VERSION_NUMBER >= 0x30000000L branch, which was introduced during the migration to the OpenSSL 3.0 EVP_MAC API, each entry of the heap-allocated tcn_ssl_ticket_key_t array embeds a self-referential OSSL_PARAM mac_params[3] whose OSSL_MAC_PARAM_KEY entry stores a raw pointer to the hmac_key field of that same array element. The read paths current_session_key and find_session_key copy the struct by value under the context read lock, which duplicates the 16 key bytes correctly but copies the embedded pointer verbatim so it still targets the original OPENSSL_malloc'd array, and the lock is released before ssl_tlsext_ticket_key_cb passes key.mac_params to EVP_MAC_CTX_set_params. If setSessionTicketKeys0 runs in that gap, its write path executes OPENSSL_free(c->ticket_keys) and the subsequent EVP_MAC_CTX_set_params feeds freed heap bytes into HMAC key setup, producing a crash. This is CWE-416 (use after free) combined with CWE-825 (expired pointer dereference) arising from the shallow struct copy, and it is a regression specific to the OpenSSL 3.x EVP_MAC path: builds against OpenSSL older than 3.0 use HMAC_Init_ex with the local copy's bytes directly and are not affected. The trigger requires three conditions simultaneously: an OpenSSL 3.x-linked build, session tickets enabled (the library default), and an in-place key rotation in flight concurrent with live handshakes.
Know when Netty gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Handshake side is remote and unauthenticated (AV:N/PR:N/UI:N), but triggering needs a nanosecond rotation/handshake race (AC:H); demonstrated impact is a crash only, so C:N/I:N/A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
netty-tcnative 2.0.66.Final before 2.0.84.Final built against OpenSSL 3.x contains a use-after-free vulnerability in ssl_tlsext_ticket_key_cb during session ticket key rotation. Remote clients performing TLS handshakes while setSessionTicketKeys0 frees the shared key array cause OpenSSL to read freed HMAC keys, crashing or corrupting ticket processing.
Technical POC Analysis
CWE-416 (use-after-free), with the advisory additionally classifying it as CWE-825 (expired pointer dereference).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-116540 is a high-severity availability vulnerability in netty-tcnative (versions 2.0.66.Final through 2.0.83.Final) that can cause TLS handshake crashes during session ticket key rotation, potentially leading to service disruptions. While exploitation requires a precise race condition and no active exploits are known, the flaw could impact any organization using affected versions in production. Leadership should prioritize patching to prevent unplanned outages and maintain service reliability.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Netty before 4.1.42.Final mishandles whitespace before the colon in HTTP headers (such as a "Transfer-Encoding : chunked
Certificate revocation-check bypass in the Netty network framework's OCSP client (io.netty:netty-handler-ssl-ocsp) affec
netty-incubator-codec-ohttp is the OHTTP implementation for netty. Rated critical severity (CVSS 9.1), this vulnerabilit
The netty incubator codec.bhttp is a java language binary http parser. Rated high severity (CVSS 8.1), this vulnerabilit
Netty, an asynchronous, event-driven network application framework, has a vulnerability starting in version 4.1.91.Final
Memory exhaustion in Netty's SctpMessageCompletionHandler (netty-transport-sctp) allows unauthenticated remote peers to
Compression-amplification denial of service in the Netty network framework (versions prior to 4.1.136.Final and 4.2.16.F
Memory-amplification denial of service in the Netty network framework (SPDY/3.1 codec) prior to 4.1.136.Final and 4.2.16
Memory-exhaustion denial of service in Netty's HTTP/3 codec (Http3FrameCodec) affects all releases prior to 4.2.16.Final
Netty's HTTP CORS handler silently rewrites the Vary response header to Vary: Origin in releases before 4.1.137.Final an
Denial of service in the Netty HTTP/3 codec (io.netty:netty-codec-http3) prior to version 4.2.15.Final allows remote una
EUVD-2026-109910
GHSA-fgcj-53j7-r6vq
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB