Skip to main content

mirage-crypto-ec EUVDEUVD-2026-74623

| CVE-2026-87737 MEDIUM
Observable Timing Discrepancy (CWE-208)
2026-09-09 mitre GHSA-qmhp-mcqx-7ppw
5.9
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify service using mirage-crypto-ec
  2. Delivery
    Trigger repeated NIST EC scalar operations
  3. Exploit
    Measure per-request response timing
  4. Execution
    Collect large timing corpus
  5. Persist
    Apply statistical/lattice analysis
  6. Impact
    Recover private key scalar

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V6 - Authentication Timing attack prevention
Exploitation Conditions

The target must run mirage-crypto-ec before 2.4.0 and expose NIST elliptic-curve scalar multiplication operations (ECDH key agreement or ECDSA signing) to an attacker who can trigger and precisely time a large number of operations - typically hundreds to thousands. This limits exploitation to scenarios where the attacker has persistent, low-latency network access to the service and can issue many requests without throttling or detection. If the EC operations are gated behind authentication, PR:L or PR:H would apply and exploitation is further constrained. The side channel is not exploitable via a single or small number of requests; statistical accumulation is mandatory, making automated bulk querying a prerequisite.

Impact

CVSS 5.9 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N) accurately balances the severe potential impact (private key recovery) against the high attack complexity inherent to timing attacks. AC:H reflects that exploitation requires collecting hundreds to thousands of timing samples with sufficient resolution and applying statistical methods - techniques like lattice attacks on ECDSA nonces or flush-and-reload cache side-channels. No EPSS score was provided, limiting exploitation probability estimation. The absence of a KEV listing and no reported POC further supports treating this as a realistic but non-trivial threat. Real-world priority is highest for services exposing ECDH or ECDSA operations to untrusted networks (e.g., public TLS endpoints, signing APIs) since attacker-controlled request volume is a prerequisite. The fix is available in 2.4.0, making remediation straightforward.

Exploit ScenarioDerived

An attacker targeting a public-facing TLS service built on mirage-crypto-ec before 2.4.0 repeatedly initiates ECDH handshakes, precisely measuring server response times across thousands of sessions. By correlating timing variations with guessed scalar bits and applying a lattice-based statistical attack, the attacker progressively narrows the private key until it is fully recovered, enabling passive session decryption or signature forgery.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 09, 2026

Timing side-channel in mirage-crypto-ec before 2.4.0 for OCaml enables remote cryptographic key recovery by exploiting secret-dependent timing variations during NIST elliptic-curve scalar multiplication table lookups. Affected applications performing ECDH key agreement or ECDSA signing - including TLS endpoints built on this library - leak private key material through measurable latency differences. No active exploitation is confirmed (no CISA KEV listing), but the C:H CVSS impact rating accurately reflects that successful key recovery constitutes full confidentiality compromise of the cryptographic material.

RemediationAI

Upgrade mirage-crypto-ec to version 2.4.0 or later, which resolves the timing side channel by implementing constant-time scalar multiplication table lookups. The fix is available from the vendor and documented at https://osv.dev/vulnerability/OSEC-2026-17. For OCaml projects using opam, run opam update && opam upgrade mirage-crypto-ec. If immediate patching is not feasible, restrict network access to services performing elliptic-curve operations using this library - for example, place TLS-terminating services behind a rate-limiting proxy to increase the cost of timing measurements, though this does not eliminate the vulnerability. There are no known safe in-code workarounds short of replacing the library.

Affected VersionsENISA

mirage-crypto-ec 0 <2.4.0

Affected Packages

euvd mirage_crypto_ec fix: 2.4.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

mirage-crypto-ec is an OCaml implementation of NIST elliptic-curve cryptography (P-256, P-384, P-521) targeting the MirageOS unikernel ecosystem and general OCaml applications. The root cause is CWE-208 (Observable Timing Discrepancy): during scalar multiplication - the core operation in ECDH and ECDSA - a pre-computed point table is accessed at indices derived from secret scalar bits. If the lookup time varies based on which table slot is accessed (e.g., due to cache behavior or non-constant-time branching), an attacker can statistically correlate timing measurements with the secret scalar. The affected CPE is cpe:2.3:a:ocaml:mirage-crypto-ec:*:*:*:*:*:*:*:* covering all releases prior to 2.4.0.

Know when Ocaml gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

Network timing attack requires no auth but demands many timed measurements (AC:H); private key recovery yields C:H with no integrity or availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Sep 09, 2026 - 05:18 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Low
niche OCaml/MirageOS ecosystem, small production deployment footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Ocaml

View all
CVE-2017-9772 CRITICAL
9.8 Jun 23

Insufficient sanitisation in the OCaml compiler versions 4.04.0 and 4.04.1 allows external code to be executed with rais

CVE-2015-8869 CRITICAL
9.1 Jun 13

OCaml before 4.03.0 does not properly handle sign extensions, which allows remote attackers to conduct buffer overflow a

CVE-2018-9838 CRITICAL
9.8 Apr 06

The caml_ba_deserialize function in byterun/bigarray.c in the standard library in OCaml 4.06.0 has an integer overflow w

CVE-2026-89086 CRITICAL
9.1 Sep 10

Signature verification bypass in the OCaml jose library (ulrikstrid/ocaml-jose) before 0.11.0 lets attackers forge valid

CVE-2017-9779 HIGH
7.8 Sep 07

OCaml compiler allows attackers to have unspecified impact via unknown vectors, a similar issue to CVE-2017-9772 "but wi

CVE-2026-28364 HIGH
7.8 Feb 27

Heap memory corruption in the OCaml runtime (before 4.14.3 and 5.x before 5.4.1) lets an attacker who can feed crafted M

CVE-2026-41082 HIGH
7.8 Apr 16

Arbitrary file write in OCaml opam before 2.5.1 allows a malicious package to escape its intended installation scope: a

CVE-2026-87734 HIGH
7.5 Sep 09

Remote denial of service in the utcp OCaml TCP userspace library before version 0.0.6 is possible via crafted out-of-ord

CVE-2026-89087 HIGH
7.3 Sep 10

Index mishandling in the OCaml cstruct library before 6.3.0 allows network-reachable attackers to trigger partial confid

CVE-2026-96609 HIGH
7.1 Sep 23

Denial of service in Robur Albatross (specifically the albatross-console component) versions 1.0.0 through 2.x before 2.

CVE-2026-87733 MEDIUM
6.2 Sep 09

ECDSA signature forgery is possible in mirage-crypto-ec before 2.2.0 for OCaml because the P256, P384, and P521 pub_of_o

CVE-2026-87732 MEDIUM
6.2 Sep 09

Authenticated decryption in mirage-crypto before 2.2.0 for OCaml violates the security invariant of AEAD schemes by writ

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy