Wolfssl vulnerabilities, page 2
171 vulnerabilities
Known vulnerabilities in Wolfssl products, newest first, with CVSS severity, EPSS, KEV listings and ransomware use, across 8 products.
RoutineCVE-2026-55962wolfssl +3 moreTLS 1.3 post-handshake authentication: server accepts Finished without client Certificate/CertificateVerifyTLS 1.3 post-handshake authentication (PHA) issue where a server could accept a client's Finished message without the client having sent a Certificate and CertificateVerify. The post-handshake-auth exemption that allows an empty/absent peer certificate was only intended for the initial handshake, but it was also being applied while a post-handshake CertificateRequest was still outstanding. The check is now scoped to the initial handshake only: on the server, once a post-handshake CertificateRequest has been sent (certReqCtx is set), a peer certificate and a valid CertificateVerify are required again before the Finished is accepted, with empty-certificate handling following the configured verify mode (FAIL_IF_NO_PEER_CERT) just as during first-handshake client authentication. Only affects TLS 1.3 servers built with post-handshake authentication support (WOLFSSL_POST_HANDSHAKE_AUTH / --enable-postauth, included in --enable-all) that enable WOLFSSL_VERIFY_POST_HANDSHAKE and request a client certificate after the handshake via wolfSSL_request_certificate(). Clients, and servers that do not use post-handshake authentication, are unaffected.CVSS6.5MediumEPSS0.24%RoutineCVE-2026-6092wolfssl +3 moreEncrypt-then-MAC could fall back to MAC-then-Encrypt when HAVE_ENCRYPT_THEN_MAC is configuredWhen HAVE_ENCRYPT_THEN_MAC is configured, the implementation could fall back to MAC-then-Encrypt rather than enforcing Encrypt-then-MAC.CVSS5.3MediumEPSS0.38%RoutineCVE-2026-6325wolfssl +3 moreOut-of-bounds write in SetSuitesHashSigAlgo on oversized signature algorithms listOut-of-bounds write in SetSuitesHashSigAlgo when processing an oversized signature algorithms list, allowing a write past the bounds of the destination buffer.CVSS7.5HighEPSS0.29%RoutineCVE-2026-6329wolfssl +3 morePKCS#12 MAC verification uses attacker-controlled comparison lengthPKCS#12 MAC verification uses an attacker-controlled comparison length, weakening the integrity check on the MAC and allowing a mismatched MAC to be accepted. The PKCS#12 verify path compared the locally computed HMAC against the MAC parsed from the PKCS#12 structure using a length taken directly from the attacker-supplied input, without first verifying that it equals the length of the digest actually produced by the configured algorithm. A truncated or zero-length stored MAC could therefore be accepted, defeating the integrity protection of the MAC.CVSS6.5MediumEPSS0.21%RoutineCVE-2026-6330wolfssl +3 moreML-KEM ARM64 NEON ciphertext comparison only compares half of the inputThe ML-KEM ARM64 NEON ciphertext comparison only compares half of the input, breaking the Fujisaki-Okamoto transform's implicit rejection and weakening IND-CCA2 security on that code path. The constant-time comparison effectively ignored part of the re-encrypted ciphertext, so a decapsulating party could fail to detect a manipulated ciphertext and proceed without the standard's required implicit rejection.CVSS6.5MediumEPSS0.17%RoutineCVE-2026-6331wolfssl +3 moreHMAC zero-length tag forgery in EVP_DigestVerifyFinalIn the OpenSSL-compatibility HMAC verify path the supplied signature length was only checked as not exceeding the MAC length, so a zero-length or otherwise truncated tag could pass verification. The fix requires the supplied tag length to exactly equal the MAC length and rejects a zero-length MAC, so a forged short or empty tag is no longer accepted.CVSS7.5HighEPSS0.19%RoutineCVE-2026-6412wolfssl +3 moreContinued acceptance of SHA-1/MD5 digests in certificate processingCertificate policy and RFC 8446 compliance concerns regarding the continued acceptance of SHA-1/MD5 in certificate processing.CVSS4.3MediumEPSS0.11%RoutineCVE-2026-6450wolfssl +3 moreCRL critical extension bypass in ParseCRL_ExtensionsA CRL critical extension bypass exists in ParseCRL_Extensions where critical extensions are not properly enforced, allowing a crafted CRL with an unhandled critical extension to be accepted. This only affects builds with CRL support enabled and where a crafted CRL had a trusted signature when parsed.CVSS5.3MediumEPSS0.33%RoutineCVE-2026-6678wolfssl +3 moreInteger underflow in wc_PKCS7_DecryptOri handling crafted Other Recipient InfoInteger underflow in wc_PKCS7_DecryptOri when handling crafted Other Recipient Info, leading to incorrect length handling during decryption.CVSS5.3MediumEPSS0.33%PrioritiseCVE-2026-6679wolfssl +3 moreDTLS 1.3 ACK serialization heap buffer overflow via integer truncationA heap buffer overflow could occur in the DTLS 1.3 ACK serialization path before the connecting peer is authenticated. The buffer overflow was due to an integer truncation when computing the length of the ACK record-number list, causing an undersized buffer to be allocated and then overrun. This affects builds using DTLS 1.3 and wolfSSL version 5.9.0 and earlier. A fix was added to the 5.9.1 release.CVSS8.8HighEPSS0.51%RoutineCVE-2026-6681wolfssl +3 morePKCS#7 decode ignores caller output buffer size, writing past buffer boundsThe PKCS#7 decode path ignores the caller-supplied output buffer size (outputSz), allowing decoded content to be written past the bounds of the provided buffer. This affects wolfSSL 5.9.0 and earlier and was fixed in the 5.9.1 release.CVSS5.3MediumEPSS0.38%RoutineCVE-2026-6731wolfssl +3 moreX.509 name constraint bypass via Subject CN treated as a DNS nameX.509 name constraint bypass via the Subject Common Name when treated as a DNS-type name. A certificate whose Subject CN violates an issuing CA's DNS name constraints could be accepted.CVSS7.5HighEPSS0.12%RoutineCVE-2026-7531wolfssl +3 moreUse-after-free in PQC hybrid key-share handlingThis 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.CVSS9.8CriticalEPSS0.50%PrioritiseCVE-2026-10097wolfssl +3 moreML-KEM-1024 x64 AVX2 incomplete cipher text comparison enables IND-CCA2 break and static private-key recoverywolfSSL's AVX2-optimized ML-KEM implementation (mlkem_cmp_avx2) compares only 1536 of the 1568 ciphertext bytes during the Fujisaki-Okamoto re-encryption check in ML-KEM-1024 decapsulation. Ciphertexts that differ from the expected re-encryption solely in bytes 1536-1567 bypass implicit rejection and are accepted as valid, breaking IND-CCA2 security. An attacker able to submit chosen ciphertexts to a decapsulation oracle that uses a static ML-KEM-1024 key, and to observe whether the genuine shared secret or the implicit-rejection secret was produced, can use this as a plaintext-checking oracle to recover the private key. A proof of concept recovered a full ML-KEM-1024 private key with approximately 98% success using roughly 350 chosen ciphertexts. The flaw is a deterministic logic error and does not rely on timing measurements.CVSS8.3HighEPSS0.26%RoutineCVE-2026-10512wolfssl +3 moreX25519 x86_64 assembly final reduction leaves non-canonical field elementThe X25519 x86_64 assembly implementation fails to clear the most significant bit during the final modular reduction, so the computed result may not be fully reduced modulo the field prime 2^255 - 19. This can leave the field element in a non-canonical form, producing an incorrect result from the scalar multiplication and potentially a wrong shared secret. The final carry-propagation chains in the x64 and AVX2 reduction routines could overflow into the top bit, and the high limb was not masked afterward, so the 255-bit field element was left non-canonical.CVSS7.5HighEPSS0.45%RoutineCVE-2026-10592wolfssl +3 moreWildcard DNS SAN bypasses CA name-constraint checksCertificates with wildcard DNS SANs (e.g. *.example.com) bypassed CA name-constraint checks. A certificate with a wildcard DNS SAN that should be rejected by the issuing CA's permitted/excluded DNS name constraints could be accepted.CVSS6.3MediumEPSS0.20%PrioritiseCVE-2026-11310wolfssl +3 moreX.509 trust-chain bypass in wolfSSL_X509_verify_cert() via untrusted intermediate anchoringX.509 trust-chain bypass in the OpenSSL compatibility certificate verifier (wolfSSL_X509_verify_cert()). This affects only builds with --enable-opensslextra (OPENSSL_EXTRA) and whose application validates certificates by calling X509_verify_cert() with caller-supplied untrusted intermediate certificates; for those users it is critical, otherwise the library is unaffected. In particular, native wolfSSL TLS/DTLS usage is not impacted. wolfSSL's X509_verify_cert() temporarily loads each caller-supplied untrusted intermediate into the certificate manager but failed to drop them before the trusted-store check, so an untrusted intermediate could anchor the path itself. An attacker can present a chain that never reaches a configured trust anchor and have it accepted, resulting in acceptance of an attacker-controlled certificate. This is certificate verification independent of TLS (e.g. S/MIME/CMS, code/firmware signing, JWT/JWS x5c), is not specific to any key type or algorithm, and a single untrusted intermediate suffices. The default wolfSSL TLS handshake (WOLFSSL_VERIFY_PEER) is not affected; only TLS applications doing manual or deferred peer verification through this API are, which also requires --enable-sessioncerts.CVSS8.7HighEPSS0.23%RoutineCVE-2026-12340wolfssl +3 moreOut-of-bounds heap read in SM2/SM3 certificate Subject Key Identifier computationOut-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).CVSS7.5HighEPSS0.30%PrioritiseCVE-2026-55958wolfssl +3 moreRenesas TSIP TLS 1.3 transcript buffer out-of-bounds write in tsip_StoreMessageOut-of-bounds write in the Renesas TSIP TLS 1.3 transcript buffer. In tsip_StoreMessage() the capacity check guarding the fixed message bag (MSGBAG_SIZE) sets an error code but fails to return, so execution falls through to an XMEMCPY that writes past the end of the buffer once the accumulated TLS 1.3 handshake transcript exceeds MSGBAG_SIZE (8 KB), corrupting adjacent heap state and potentially causing a remote denial of service crash. The bag is sized to hold a normal handshake, so this is reached only by an unusually large but valid certificate chain, or by a malicious or man-in-the-middle server sending an oversized handshake message to a client that does not strictly verify the chain. This only affects builds using the Renesas TSIP TLS port (WOLFSSL_RENESAS_TSIP_TLS) as a TLS 1.3 client on Renesas MCUs with TSIP hardware enabled, and is rated High within those builds. All other configurations are unaffected.CVSS8.3HighEPSS0.44%PrioritiseCVE-2026-55960wolfssl +3 moreUn-negotiated Raw Public Key (RFC 7250) accepted in place of X.509, bypassing chain validationA raw public key has no chain, so ParseCertRelative() accepts it without performing any trust verification; it must therefore only be accepted when RPK was actually negotiated for that peer. The check now defaults the expected type to X.509 (per RFC 7250/8446) when no type was negotiated, comparing against the received server certificate type on the client and the selected client certificate type on the server, and rejects any mismatch, including an un-negotiated raw public key, with UNSUPPORTED_CERTIFICATE. Only affects builds with Raw Public Key support (HAVE_RPK) enabled - disabled by default in a standalone build, but included in --enable-all.CVSS8.2HighEPSS0.23%