OCaml has 10 CVEs on record. Disclosure cadence is accelerating: 9 in the last 90 days against 1 in the 90 before. The busiest recent month was September 2026 with 9. The median CVSS is 6.2 (medium), with 1 rated critical. None have a confirmed exploitation report. Most affected products: mirage-crypto-ec (3), opam (2), cstruct (1).
CVEs per month
Last 12 months, by publish date
- Exploited share
- 0% vs 1% corpus
- Median CVSS
- 6.2
- Publish → KEV
- —
- Last 90 days
- 9 prev 1
Weakness classes
Products
- mirage-crypto-ec 3
- opam 2
- cstruct 1
- jose 1
- mirage-crypto 1
- mirage-crypto-pk 1
Worst active — by depth score
CVE-2026-89086Critical· 9.1In the jose package before 0.11.0 for OCaml, library calls to validate an RSA signature only confirm that PKCS #1 decoding succeeds, and proceed to declare the signature valid without the required steps that involve the public key.62CVE-2026-87734High· 7.5An issue was discovered in the utcp package before 0.0.6 for OCaml53CVE-2026-87733Medium· 6.2An issue was discovered in the mirage-crypto-ec function before 2.2.0 for OCaml46CVE-2026-87732Medium· 6.2An issue was discovered in the mirage-crypto package before 2.2.0 for OCaml46CVE-2026-89087High· 7.3The cstruct package before 6.3.0 for OCaml mishandles indexes.40
OCaml vulnerabilities
CVEs affecting OCaml, newest first. Open any entry for full detail, references, and exploit status.
10 CVEsRSS
CVE-2026-89086Critical· 9.1PoCIn the jose package before 0.11.0 for OCaml, library calls to validate an RSA signature only confirm that PKCS #1 decoding succeeds, and proceed to declare the signature valid without the required steps that involve the public key.
In the jose package before 0.11.0 for OCaml, library calls to validate an RSA signature only confirm that PKCS #1 decoding succeeds, and proceed to declare the signature valid without the required steps that involve the public key.
CVE-2026-89087High· 7.3The cstruct package before 6.3.0 for OCaml mishandles indexes.
The cstruct package before 6.3.0 for OCaml mishandles indexes.
CVE-2026-87734High· 7.5PoCAn issue was discovered in the utcp package before 0.0.6 for OCaml
An issue was discovered in the utcp package before 0.0.6 for OCaml. Out-of-order segment reassembly allows remote denial of service.
CVE-2026-87736Medium· 4.3An issue was discovered in the mirage-crypto-ec package before 2.3.0 for OCaml
An issue was discovered in the mirage-crypto-ec package before 2.3.0 for OCaml. There is an EC public key out-of-bounds read for compressed points.
CVE-2026-57825Medium· 5.7In the opam package before 2.5.2 for OCaml, the sandbox protection mechanism can be bypassed because symlinks are mishandled during use of .install files.
In the opam package before 2.5.2 for OCaml, the sandbox protection mechanism can be bypassed because symlinks are mishandled during use of .install files.
CVE-2026-87735Medium· 4.3An issue was discovered in the mirage-crypto-pk package before 2.3.0 for OCaml
An issue was discovered in the mirage-crypto-pk package before 2.3.0 for OCaml. There is an undocumented exception for a small message during RSA decryption or encryption.
CVE-2026-87737Medium· 5.9An issue was discovered in the mirage-crypto-ec package before 2.4.0 for OCaml
An issue was discovered in the mirage-crypto-ec package before 2.4.0 for OCaml. There is a timing side channel for NIST elliptic-curve scalar multiplication: the time required for a lookup can depend on a secret.
CVE-2026-87733Medium· 6.2PoCAn issue was discovered in the mirage-crypto-ec function before 2.2.0 for OCaml
An issue was discovered in the mirage-crypto-ec function before 2.2.0 for OCaml. The ECDSA functions {P256,P384,P521}.Dsa.pub_of_octets accept 0x00, the encoding of the point at infinity, as a public key. With that public key, signatures…
CVE-2026-87732Medium· 6.2PoCAn issue was discovered in the mirage-crypto package before 2.2.0 for OCaml
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…
CVE-2026-41082High· 7.3In OCaml opam before 2.5.1, a .install field containing a destination filepath can use ../ to reach a parent directory.
In OCaml opam before 2.5.1, a .install field containing a destination filepath can use ../ to reach a parent directory.