High severity · published Jun 25, 2026
CVE-2026-10097
ML-KEM-1024 x64 AVX2 incomplete cipher text comparison enables IND-CCA2 break and static private-key recovery
7.5
CVSS
0.3%
EPSS
No
On KEV
Description
wolfSSL'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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 18% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
WO
wolfSSL · wolfSSL
5.7.0 through 5.9.1 · source: vendor, NVD
Affected product
WO
wolfSSL
wolfSSL
More from wolfSSL
9.8
CVE-2026-7531
Use-after-free in PQC hybrid key-share handling
9.8
CVE-2026-5264
DTLS 1.3 ACK heap buffer overflow
9.8
CVE-2026-5187
Heap Out-of-Bounds Write in DecodeObjectId() in wolfSSL
9.8
CVE-2026-4395
Heap-based buffer overflow in wc_ecc_import_x963_ex KCAPI path
9.8
CVE-2026-3849
Buffer Overflow in HPKE via Oversized ECH Config