Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attacker controls the server so AV:N and PR:N; non-default PQC hybrid build and client-initiated connection required so AC:H and UI:R; only client availability impacted at low severity.
Primary rating from Vendor (wolfssl).
CVSS VectorVendor: wolfssl
Lifecycle Timeline
2DescriptionCVE.org
Use-after-free in PQC hybrid key-share handling. This is an incomplete-fix follow-up to CVE-2026-5460 (released in 5.9.1): a malicious TLS 1.3 server sending a truncated PQC hybrid KeyShare can still trigger the error cleanup path to operate on freed memory.
AnalysisAI
Use-after-free in wolfSSL's TLS 1.3 PQC hybrid KeyShare processing exposes clients built with post-quantum hybrid support to a crash or memory corruption when connecting to a malicious server. This is a bypass of the incomplete fix for CVE-2026-5460 shipped in 5.9.1 - the pointer alias between keyShareEntry->key and ecc_kse->key in TLSX_KeyShare_ProcessPqcHybridClient is not re-synchronized after the inner ECC processing function frees its copy, leaving a dangling pointer that TLSX_KeyShare_FreeAll later passes to wc_ecc_free and XFREE. No public exploit or CISA KEV listing exists; the CVSS 4.0 score of 2.3 reflects limited real-world impact due to high attack complexity and non-default build requirements.
Technical ContextAI
wolfSSL is a lightweight, embedded TLS/SSL library widely used in IoT, automotive, and FIDO2 contexts. The affected function is TLSX_KeyShare_ProcessPqcHybridClient in src/tls.c, which handles TLS 1.3 key exchange for PQC hybrid groups - specifically SECP256R1MLKEM768, combining ECDH over SECP256R1 with ML-KEM-768 (formerly Kyber). CWE-416 (Use-After-Free) is the root cause: the inner function ProcessEcc_ex aliases ecc_kse->key to keyShareEntry->key, then unconditionally frees and NULLs ecc_kse->key during its error-path cleanup (triggered when wc_ecc_import_x963 rejects an invalid X9.63 point marker such as 0x05). The outer keyShareEntry->key retains the now-freed pointer. When wolfSSL_free subsequently invokes TLSX_KeyShare_FreeAll, wc_ecc_free and XFREE are called on that stale pointer, producing a use-after-free and double-free detectable by ASAN. The fix in PR #10327 re-syncs keyShareEntry->key = ecc_kse->key after the inner call returns, correctly inheriting whatever cleanup state the inner function left in ecc_kse->key (NULL on cleanup, live pointer on early exit).
RemediationAI
Apply the upstream fix from GitHub PR #10327 (https://github.com/wolfSSL/wolfssl/pull/10327) once a tagged release incorporating it becomes available; a specific patched release version is not confirmed in the available data - monitor https://www.wolfssl.com/docs/security-vulnerabilities/ for an official release announcement. As an immediate compensating control, rebuild wolfSSL without PQC hybrid support by omitting WOLFSSL_PQC_HYBRIDS and WOLFSSL_HAVE_MLKEM build flags; this eliminates the vulnerable code path entirely but removes post-quantum key exchange capability, which may conflict with PQC readiness requirements. Alternatively, restrict TLS client connections to trusted, authenticated servers using certificate pinning or a private PKI, which prevents the malicious-server scenario but does not eliminate the defect and adds operational complexity for certificate rotation.
wolfSSL prior to version 3.12.2 provides a weak Bleichenbacher oracle when any TLS cipher suite using RSA key exchange i
A specially crafted x509 certificate can cause a single out of bounds byte overwrite in wolfSSL through 3.10.2 resulting
wolfSSL (formerly CyaSSL) before 3.6.8 allows remote attackers to cause a denial of service (resource consumption or tra
In wolfSSL before 5.5.1, malicious clients can cause a buffer overflow during a TLS 1.3 handshake. Rated high severity (
An issue was discovered in wolfSSL before 5.5.0. Rated high severity (CVSS 7.5), this vulnerability is remotely exploita
wolfSSL 4.3.0 has mulmod code in wc_ecc_mulmod_ex in ecc.c that does not properly resist timing side-channel attacks. Ra
In wolfSSL 4.1.0 through 4.2.0c, there are missing sanity checks of memory accesses in parsing ASN.1 certificate data wh
An issue was discovered in wolfSSL before 4.5.0, when single precision is not employed. Rated high severity (CVSS 7.0).
wolfSSL before 4.5.0 mishandles TLS 1.3 server data in the WAIT_CERT_CR state, within SanityCheckTls13MsgReceived() in t
wolfSSL (formerly CyaSSL) before 3.6.8 does not properly handle faults associated with the Chinese Remainder Theorem (CR
An issue was discovered in wolfSSL before 5.5.0 (when --enable-session-ticket is used); however, only version 5.3.0 is e
wolfSSL 4.6.x through 4.7.x before 4.8.0 does not produce a failure outcome when the serial number in an OCSP request di
Same weakness CWE-416 – Use After Free
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39554
GHSA-w9rp-wwm2-fwmr