{"answers":{"affected":"It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-10097 in the wild and no public exploit code.","fix":"Apply the vendor's patch.","what":"CVE-2026-10097 is a high-severity vulnerability in Wolfssl Wolfssl, published on 25 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-10097 and fix it if it is affected.\n\nWhat it is: CVE-2026-10097 is a high-severity vulnerability in Wolfssl Wolfssl, published on 25 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-10097 in the wild and no public exploit code.\n\nAffected product: Wolfssl Wolfssl. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-10097/ (Markdown: https://insights.sbomify.com/CVE-2026-10097/index.md)","id":"CVE-2026-10097","markdown":"https://insights.sbomify.com/CVE-2026-10097/index.md","name":"CVE-2026-10097","record":{"aliases":["DEBIAN-CVE-2026-10097","GHSA-hcgc-hfp6-58v4","JLSEC-2026-693","UBUNTU-CVE-2026-10097"],"analysis":{"component_type":"library","fix_type":"patch","impacts":["privilege_escalation","data_read"],"network_reachable":"yes","non_default_config":false,"product_category":"wolfSSL cryptographic library","requires_auth":"none","summary":"Attackers can recover static private keys by exploiting incomplete ciphertext comparison in wolfSSL's ML-KEM-1024 AVX2 implementation via chosen ciphertext attacks.","user_interaction":"not_required","vuln_class":"weak_cryptography"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"wolfSSL","cpe":[{"product":"wolfssl","vendor":"wolfssl"}],"cvss":{"score":8.3,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-697","name":"Incorrect Comparison"}],"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.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"ML-KEM-1024 x64 AVX2 incomplete cipher text comparison enables IND-CCA2 break and static private-key recovery","id":"CVE-2026-10097","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":"wolfssl:wolfssl","products":["wolfssl:wolfssl"],"type":"weak_cryptography","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"OCSP CertID serial-number length-confusion in wolfSSL_OCSP_resp_find_status","id":"CVE-2026-10098"},"packages":[],"prev":{"headline":"Missing authorization in Qi Blocks","id":"CVE-2026-10096"},"products":["wolfSSL"],"published":"2026-06-25","related":[{"cvss_score":10,"headline":"Buffer overread in domain name matching","id":"CVE-2024-5991","kev_date_added":null,"published":"2024-08-27"},{"cvss_score":9.8,"headline":"Security feature bypass in n/a","id":"CVE-2021-37155","kev_date_added":null,"published":"2021-07-21"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2020-36177","kev_date_added":null,"published":"2021-01-06"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2014-2896","kev_date_added":null,"published":"2020-01-28"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2014-2897","kev_date_added":null,"published":"2020-01-28"},{"cvss_score":9.8,"headline":"Information disclosure in n/a","id":"CVE-2014-2898","kev_date_added":null,"published":"2020-01-28"},{"cvss_score":9.8,"headline":"Memory corruption in n/a","id":"CVE-2019-16748","kev_date_added":null,"published":"2019-09-24"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-06-26","vendors":["wolfSSL"]},"summary":"Attackers can recover static private keys by exploiting incomplete ciphertext comparison in wolfSSL's ML-KEM-1024 AVX2 implementation via chosen ciphertext attacks.","url":"https://insights.sbomify.com/CVE-2026-10097/"}