Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/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
Network-reachable but requires non-default SM2 compile flag (AC:H); impact limited to availability crash; no confidentiality or integrity impact confirmed.
Primary rating from Vendor (wolfSSL).
CVSS VectorVendor: wolfSSL
Lifecycle Timeline
2DescriptionCVE.org
Out-of-bounds heap read during SM2/SM3 certificate signature verification. When parsing a certificate with an SM3wSM2 signature, the Subject Key Identifier computation reads the trailing 65 bytes of the public key without checking that the key is at least that long. A public key shorter than 65 bytes results in an out-of-bounds heap read, leading to a potential crash (denial of service); there is no out-of-bounds write. Note this only affects builds with SM2 support (--enable-sm2 or --enable-all).
AnalysisAI
Out-of-bounds heap read in wolfSSL's SM2/SM3 certificate parser exposes applications to remote denial of service when processing malformed certificates. During Subject Key Identifier computation in SM3wSM2 certificate verification, the library unconditionally reads 65 bytes from the public key field without first validating that the key is at least that long - a crafted certificate with a sub-65-byte public key triggers a heap over-read, crashing the process. This vulnerability is scoped exclusively to wolfSSL builds compiled with SM2 support (--enable-sm2 or --enable-all), and no public exploit or CISA KEV listing exists at time of analysis.
Technical ContextAI
wolfSSL is a lightweight embedded SSL/TLS library (CPE: cpe:2.3:a:wolfssl:wolfssl:*:*:*:*:*:*:*:*) widely used in resource-constrained and IoT environments as an OpenSSL alternative. The flaw (CWE-125: Out-of-bounds Read) resides in ParseCertRelative within wolfcrypt/src/asn.c. When computing the Subject Key Identifier (SKID) for a certificate bearing an SM3wSM2 signature algorithm (OID 1.2.156.10197.1.501), the code reads the trailing 65 bytes of the SubjectPublicKeyInfo public key body unconditionally, assuming a full uncompressed SM2 point (0x04 || 32-byte X || 32-byte Y = 65 bytes). No length check precedes this read. The fix confirmed in PR #10641 inserts if (cert->pubKeySize < 65) { return BUFFER_E; } before the read. The vulnerable path is gated at compile time by WOLFSSL_SM2 and WOLFSSL_SM3 defines, meaning only intentionally SM2-enabled builds are reachable.
RemediationAI
The upstream fix is available via GitHub PR #10641 (https://github.com/wolfSSL/wolfssl/pull/10641), which adds a pubKeySize bounds check before the 65-byte SKID heap read in wolfcrypt/src/asn.c. A specific tagged release containing this fix has not been independently confirmed from available data - monitor the wolfSSL security page at https://www.wolfssl.com/docs/security-vulnerabilities/ for a patched release version. As an immediate workaround with no cryptographic functionality loss (for deployments not requiring Chinese national cryptographic standards), recompile wolfSSL without --enable-sm2 and without --enable-all to exclude the SM2/SM3 code paths entirely; this eliminates the vulnerable code at build time with no side effects for non-SM2 use cases.
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-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39547
GHSA-q349-x427-xg3w