CVE-2026-87737
An issue was discovered in the mirage-crypto-ec package before 2.4.0 for OCaml. There is a timing...
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- None
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
5.9
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.
- Record
CVE-2026-87737- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-208
- Updated
- 2026-11-02
EUVDEUVD-2026-74623
5.9
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.
- Record
EUVD-2026-74623- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-qmhp-mcqx-7ppw
5.9
An issue was discovered in the mirage-crypto-ec package before 2.4.0 for OCaml. There is a timing...
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.
- Record
GHSA-qmhp-mcqx-7ppw- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-208
- Updated
- 2026-11-02
NVD
5.9
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.
- Record
CVE-2026-87737- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-208
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-87737
5.9
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.
- Record
DEBIAN-CVE-2026-87737- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
OSVOSEC-2026-17
5.9
Timing leak in NIST elliptic curves scalar multiplication
The scalar multiplication includes pre-computed tables for speedup (introduced in mirage-crypto-ec 0.11.3). The lookup algorithm for these tables performs secret-dependent reads instead of scanning the entire table.
Solution
Instead of using the index n - 1, where n is secret-dependent, use i - 1, as done in the Go reference implementation. If n is 0, there is a out-of-bounds read before the patch.
Timeline
- 2026-08-12: report by Eric Ebinger to [email protected]
- 2026-08-17: release of mirage-crypto-ec 2.4.0 and this advisory
- Record
OSEC-2026-17- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-06
OSVUBUNTU-CVE-2026-87737
5.9
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.
- Record
UBUNTU-CVE-2026-87737- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
ocaml-mirage-cryptoDebian:12 |
All versions, plus listed versions 0.10.7-10.11.1-10.11.1-20.11.1-30.11.2-1 Show 14 moreShow less0.11.2-20.11.3-11.1.0-11.1.0-22.0.0-12.0.1-12.0.2-12.0.3-12.1.0-12.2.0-12.2.0-22.3.0-12.4.0-12.4.1-1 |
None known |
ocaml-mirage-cryptoDebian:13 |
All versions, plus listed versions 2.0.0-12.0.1-12.0.2-12.0.3-12.1.0-1 Show 5 moreShow less2.2.0-12.2.0-22.3.0-12.4.0-12.4.1-1 |
None known |
ocaml-mirage-cryptoDebian:14 |
before 2.4.0-1, plus listed versions 2.0.0-12.0.1-12.0.2-12.0.3-12.1.0-12.2.0-12.2.0-22.3.0-1 |
2.4.0-1 |
mirage-crypto-ecopam |
0.11.3 up to 2.4.0, plus listed versions 1.0.01.1.01.2.02.0.02.0.1 Show 5 moreShow less2.0.22.0.32.1.02.2.02.3.0 |
2.4.0 |
ocaml-mirage-cryptoUbuntu:22.04:LTS |
All versions, plus listed versions 0.10.5-40.10.5-4build2 |
None known |
ocaml-mirage-cryptoUbuntu:24.04:LTS |
All versions, plus listed versions 0.11.1-30.11.2-10.11.2-1build10.11.2-2build3 |
None known |
ocaml-mirage-cryptoUbuntu:26.10 |
All versions, plus listed versions 2.0.2-1build52.4.0-1 |
None known |
ocaml-mirage-cryptoUbuntu:26.04:LTS |
All versions, plus listed versions 2.0.1-1build12.0.2-1build12.0.2-1build22.0.2-1build32.0.2-1build5 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-87737 is a medium vulnerability (CVSS 5.9) in Ocaml Mirage-crypto-ec, published August 17, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.33%, the 26th percentile. Fixed in ocaml-mirage-crypto 2.4.0-1.