Description
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 can be forged without a private key.
Published: 2026-09-09
Score: 6.2 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Signature Forgery via Point at Infinity
Action: Patch
AI Analysis

Impact

The mirage-crypto-ec library for OCaml allowed the function Dsa.pub_of_octets for the embedded ECDSA curves P256, P384, and P521 to accept the byte value 0x00, which represents the point at infinity, as a valid public key. Because this point is mathematically equivalent to null, it can be used to forge ECDSA signatures without having a private key, thereby violating the integrity guarantees of systems that rely on these signatures. This is an example of CWE‑295, Improper Certificate Validation, where an invalid key is accepted instead of being rejected. Based on the description, it is inferred that an attacker can craft a public key of 0x00 and use the library to produce signatures that will be accepted as valid by any downstream verification.

Affected Systems

OCaml mirage-crypto-ec library versions prior to 2.2.0 for the ECDSA curve implementations P256, P384, and P521 are impacted.

Risk and Exploitability

The CVSS score of 6.2 indicates a moderate impact. EPSS data is not available, so the exact likelihood of exploitation is uncertain; however, the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is an application that accepts externally supplied ECDSA keys or processes untrusted data, as the flaw permits signature forgery when the crafted key is passed to Dsa.pub_of_octets. The attack requires the attacker to provide the specially crafted public key input, making it a targeted but feasible approach if key validation is absent.

Generated by OpenCVE AI on September 9, 2026 at 11:59 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to mirage-crypto-ec version 2.2.0 or later, which removes acceptance of the point at infinity and fixes the flaw.
  • Modify application code to explicitly reject or validate that public keys are not equal to the byte value 0x00, thereby addressing CWE‑295 and preventing forged signatures.
  • Audit the codebase for any remaining calls to mirage-crypto-ec’s Dsa.pub_of_octets and replace or wrap them in a hardened validation layer that enforces proper key format and rejects invalid inputs.

Generated by OpenCVE AI on September 9, 2026 at 11:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Sun, 13 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
First Time appeared Ocaml
Ocaml mirage-crypto-ec
Vendors & Products Ocaml
Ocaml mirage-crypto-ec

Wed, 09 Sep 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Wed, 09 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Title ECDSA Public Key Point at Infinity Forgery in Mirage‑Crypto‑EC Library

Wed, 09 Sep 2026 04:30:00 +0000

Type Values Removed Values Added
Description 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 can be forged without a private key.
Weaknesses CWE-295
References
Metrics cvssV3_1

{'score': 6.2, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'}


Subscriptions

Ocaml Mirage-crypto-ec
cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-09-09T13:02:51.213Z

Reserved: 2026-09-09T04:08:54.293Z

Link: CVE-2026-87733

cve-icon Vulnrichment

Updated: 2026-09-09T13:02:44.741Z

cve-icon NVD

Status : Deferred

Published: 2026-09-09T05:18:20.430

Modified: 2026-09-09T16:04:24.933

Link: CVE-2026-87733

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-13T20:02:34Z

Weaknesses
  • CWE-295

    Improper Certificate Validation