Without NO_SESSION_CACHE_REF, wolfSSL_get_session() does not return a session object but a ClientSession reference of the form {row, index,… (CVE-2026-94419)
A vulnerability in wolfSSL versions v5.3.0 through v5.9.2 affects the TLS 1.2 and below session cache handling when NO_SESSION_CACHE_REF and related options are undefined. wolfSSL_get_session() returns a ClientSession reference that can be poisoned by an attacker due to insufficient validation, allowing session resumption without proper certificate verification. This flaw allows an attacker to impersonate the original server for the resumed connection. The issue is fixed by adding a per-write generation counter to the cache and increasing the cache version, rejecting poisoned cache entries.
AI Analysis
Technical Summary
Without the NO_SESSION_CACHE_REF option defined, wolfSSL_get_session() returns a ClientSession reference validated only by a hash of the session ID. Since TLS 1.2 session IDs are server-chosen and sent in cleartext, an attacker can overwrite the client-side cache entry with their own master secret and parameters if they reuse the same session ID. This poisoned cache entry persists globally across WOLFSSL_CTX boundaries until eviction or timeout. Resuming a session via this handle bypasses certificate verification and domain name checks, allowing the attacker to be accepted as the original server. The vulnerability affects wolfSSL builds from v5.3.0 through v5.9.2 with default or certain integration options that leave NO_SESSION_CACHE_REF undefined. The fix involves adding a generation counter to the cache and raising WOLFSSL_CACHE_VERSION from 2 to 3, preventing acceptance of poisoned cache entries from older versions.
Potential Impact
An attacker can impersonate the original server during TLS 1.2 or DTLS 1.2 session resumption by poisoning the session cache. This leads to bypass of certificate chain verification and domain name checks, potentially allowing man-in-the-middle attacks or unauthorized access. The vulnerability does not affect TLS 1.3 or ticket-based resumption, which use client-chosen cache keys. The poisoned cache entry persists in the process-global cache and crosses context boundaries until evicted or timed out (default 500 seconds).
Mitigation Recommendations
A fix is available that adds a per-write generation counter to the session cache and increases the cache version to reject poisoned entries. Users should upgrade to a fixed version beyond v5.9.2. Applications using wolfSSL should avoid configurations that leave NO_SESSION_CACHE_REF undefined or should define NO_SESSION_CACHE_REF or use integration options that do so. wolfSSL_get1_session() is not affected and can be used as a safer alternative. Patch status is confirmed by the vendor's fix described in the advisory.
Without NO_SESSION_CACHE_REF, wolfSSL_get_session() does not return a session object but a ClientSession reference of the form {row, index,… (CVE-2026-94419)
Description
A vulnerability in wolfSSL versions v5.3.0 through v5.9.2 affects the TLS 1.2 and below session cache handling when NO_SESSION_CACHE_REF and related options are undefined. wolfSSL_get_session() returns a ClientSession reference that can be poisoned by an attacker due to insufficient validation, allowing session resumption without proper certificate verification. This flaw allows an attacker to impersonate the original server for the resumed connection. The issue is fixed by adding a per-write generation counter to the cache and increasing the cache version, rejecting poisoned cache entries.
CVSS v3.1
Score 5.4medium
Affected software
pkg:deb/ubuntu/wolfssl?arch=source&distro=xenialpkg:deb/ubuntu/wolfssl?arch=source&distro=bionicpkg:deb/ubuntu/wolfssl?arch=source&distro=focalpkg:deb/ubuntu/wolfssl?arch=source&distro=jammypkg:deb/ubuntu/wolfssl?arch=source&distro=noblepkg:deb/ubuntu/wolfssl?arch=source&distro=resoluteRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Without the NO_SESSION_CACHE_REF option defined, wolfSSL_get_session() returns a ClientSession reference validated only by a hash of the session ID. Since TLS 1.2 session IDs are server-chosen and sent in cleartext, an attacker can overwrite the client-side cache entry with their own master secret and parameters if they reuse the same session ID. This poisoned cache entry persists globally across WOLFSSL_CTX boundaries until eviction or timeout. Resuming a session via this handle bypasses certificate verification and domain name checks, allowing the attacker to be accepted as the original server. The vulnerability affects wolfSSL builds from v5.3.0 through v5.9.2 with default or certain integration options that leave NO_SESSION_CACHE_REF undefined. The fix involves adding a generation counter to the cache and raising WOLFSSL_CACHE_VERSION from 2 to 3, preventing acceptance of poisoned cache entries from older versions.
Potential Impact
An attacker can impersonate the original server during TLS 1.2 or DTLS 1.2 session resumption by poisoning the session cache. This leads to bypass of certificate chain verification and domain name checks, potentially allowing man-in-the-middle attacks or unauthorized access. The vulnerability does not affect TLS 1.3 or ticket-based resumption, which use client-chosen cache keys. The poisoned cache entry persists in the process-global cache and crosses context boundaries until evicted or timed out (default 500 seconds).
Mitigation Recommendations
A fix is available that adds a per-write generation counter to the session cache and increases the cache version to reject poisoned entries. Users should upgrade to a fixed version beyond v5.9.2. Applications using wolfSSL should avoid configurations that leave NO_SESSION_CACHE_REF undefined or should define NO_SESSION_CACHE_REF or use integration options that do so. wolfSSL_get1_session() is not affected and can be used as a safer alternative. Patch status is confirmed by the vendor's fix described in the advisory.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- UBUNTU-CVE-2026-94419
- Osv Schema Version
- 1.7.0
- Ecosystems
- ["Ubuntu:16.04:LTS","Ubuntu:18.04:LTS","Ubuntu:20.04:LTS","Ubuntu:22.04:LTS","Ubuntu:24.04:LTS","Ubuntu:26.04:LTS"]
- Cvss Version
- 3.1
Threat ID: 6abfeea2a43b0b3b89e5528c
Added to database: 10/02/2026, 17:49:22 UTC
Last enriched: 10/02/2026, 18:04:54 UTC
Last updated: 10/03/2026, 02:46:08 UTC
Views: 3
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.