Improper signature verification in OCaml mirage-crypto
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- None · High · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-347.
Summary
An issue was discovered in the mirage-crypto package before 2.2.0 for OCaml. The AES.GCM.authenticate_decrypt_into and Chacha20.authenticate_decrypt_into functions write the decrypted plaintext into a caller-provided buffer and only then compares the tag. On a forged tag, the functions returns false, but the destination buffer already holds the full plaintext.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA mirage-crypto (OCaml) Fixed in 2.2.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-87732
- 2026-10-03 Alias added: GHSA-vqxm-cgmv-2pcr
References
More OCaml vulnerabilities
- TI-2026-60369 Improper signature verification in OCaml jose CVSS 3.1CRITICAL 9.1
- TI-2026-59889 An issue was discovered in the utcp package before 0.0.6 for OCaml. CVSS 3.1HIGH 7.5
- TI-2026-29719 In OCaml opam before 2.5.1, a .install field containing a destination filepath can use ../ to reach a parent directory. CVSS 3.1HIGH 7.8
- TI-2026-59888 Improper certificate validation in OCaml mirage-crypto-ec CVSS 3.1MEDIUM 6.2
- TI-2018-07003 The caml_ba_deserialize function in byterun/bigarray.c in the standard library in OCaml… CVSS 3.0CRITICAL 9.8
- TI-2017-07154 Insufficient sanitisation in the OCaml compiler versions 4.04.0 and 4.04.1 allows… CVSS 3.0CRITICAL 9.8
Sources
- CVE-2026-87732 · CVE Program
- CVE-2026-87732 · NVD
- FIRST EPSS
- GHSA-vqxm-cgmv-2pcr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences