Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/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
Remote pre-auth reachable (AV:N/PR:N/UI:N), but requires building a large ACK list to overflow so AC:H; impact is mainly DoS (A:H) with limited memory corruption (I:L), no confidentiality.
Primary rating from Vendor (wolfSSL).
CVSS VectorVendor: wolfSSL
Lifecycle Timeline
2DescriptionCVE.org
A 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.
AnalysisAI
Pre-authentication heap buffer overflow in wolfSSL 5.9.0 and earlier affects builds compiled with DTLS 1.3 support, where an integer truncation in the ACK record-number list length computation (Dtls13GetAckListLength using a word16) allocates an undersized buffer that is then overrun during ACK serialization. Because the flaw is reachable before the connecting peer is authenticated, a remote unauthenticated attacker can trigger memory corruption against a DTLS 1.3 endpoint, with no public exploit identified at time of analysis. The CVSS 4.0 score of 8.8 reflects primarily a high availability (crash/DoS) impact with limited integrity impact.
Technical ContextAI
wolfSSL is a compact, widely-embedded TLS/DTLS library written in C, commonly used in IoT, embedded firmware, automotive, and resource-constrained server deployments. The defect lives in the DTLS 1.3 retransmission/ACK handling code (src/dtls13.c, functions Dtls13RtxAddAck / Dtls13GetAckListLength). DTLS 1.3 acknowledges received record numbers via an ACK message containing a list of (epoch, sequence) record numbers; wolfSSL maintains this list and computes its serialized length. The root cause is CWE-787 (Out-of-bounds Write) stemming from an integer truncation: the cumulative length of the record-number list was computed/stored in a 16-bit (word16) quantity, so a sufficiently long list wraps the length value, an undersized heap buffer is allocated from the truncated length, and the subsequent serialization writes past the allocation. The fix introduces a DTLS13_MAX_ACK_RECORDS cap of 512 records, dropping additional records to prevent the word16 overflow and bound memory consumption.
RemediationAI
Vendor-released patch: upgrade to wolfSSL 5.9.1 or later, which adds the DTLS13_MAX_ACK_RECORDS cap (512) that prevents the word16 length truncation; rebuild and redeploy all firmware/applications that statically or dynamically link wolfSSL, since many embedded deployments bundle the library. The upstream fix is in https://github.com/wolfSSL/wolfssl/pull/10116 and is referenced from https://www.wolfssl.com/docs/security-vulnerabilities/. If you cannot immediately upgrade, the most direct compensating control is to disable DTLS 1.3 in the build (use DTLS 1.2 or compile out DTLS 1.3), which removes the vulnerable code path entirely at the cost of losing DTLS 1.3 features; alternatively, restrict reachability of the DTLS listener via network ACLs/firewalling of the relevant UDP port to trusted peers only, accepting that this does not help when the service must be exposed to untrusted clients. There is no application-level configuration toggle for the ACK list cap prior to 5.9.1, so patching is strongly preferred over workarounds.
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-787 – Out-of-bounds Write
View allSame technique Buffer Overflow
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39557
GHSA-c9q2-5c67-xg9p