Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify service using mirage-crypto-ec
-
DeliveryTrigger repeated NIST EC scalar operations
-
ExploitMeasure per-request response timing
-
ExecutionCollect large timing corpus
-
PersistApply statistical/lattice analysis
-
ImpactRecover 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
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.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
1DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Insufficient sanitisation in the OCaml compiler versions 4.04.0 and 4.04.1 allows external code to be executed with rais
OCaml before 4.03.0 does not properly handle sign extensions, which allows remote attackers to conduct buffer overflow a
The caml_ba_deserialize function in byterun/bigarray.c in the standard library in OCaml 4.06.0 has an integer overflow w
Signature verification bypass in the OCaml jose library (ulrikstrid/ocaml-jose) before 0.11.0 lets attackers forge valid
OCaml compiler allows attackers to have unspecified impact via unknown vectors, a similar issue to CVE-2017-9772 "but wi
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
Arbitrary file write in OCaml opam before 2.5.1 allows a malicious package to escape its intended installation scope: a
Remote denial of service in the utcp OCaml TCP userspace library before version 0.0.6 is possible via crafted out-of-ord
Index mishandling in the OCaml cstruct library before 6.3.0 allows network-reachable attackers to trigger partial confid
Denial of service in Robur Albatross (specifically the albatross-console component) versions 1.0.0 through 2.x before 2.
ECDSA signature forgery is possible in mirage-crypto-ec before 2.2.0 for OCaml because the P256, P384, and P521 pub_of_o
Authenticated decryption in mirage-crypto before 2.2.0 for OCaml violates the security invariant of AEAD schemes by writ
EUVD-2026-74623
GHSA-qmhp-mcqx-7ppw
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB