osec-2026-15

CVSS 4.3 osv_ocaml
Description

The internal Point.of_octets function is missing a length check for compressed points, and thus is raising an exception when a short buffer is provided. This affects all NIST curves (P-256, P-384, P-521) and both `Dsa.pub_of_octets` and `Dh.key_exchange` functions. ## Fix The fix is to check the length of the provided buffer. ## Timeline - July 28th 2026: report to security@ocaml.org - August 7th: release of mirage-crypto-pk 2.3.0 and security advisory

Timeline
Published
unknown
Last Modified
unknown
CVSS Details

CVSS details not available.

Affected Products

No product information available.

Weaknesses (CWE)
References

No references available.

Linked Vulnerabilities

No linked vulnerabilities found.

{
  "affected": [
    {
      "database_specific": {
        "source": "https://github.com/ocaml/security-advisories/blob/generated-osv/2026/OSEC-2026-15.json"
      },
      "ecosystem_specific": {
        "affected_bindings": [
          "Mirage_crypto_ec.P256.Dsa.pub_of_octets",
          "Mirage_crypto_ec.P256.Dh.key_exchange",
          "Mirage_crypto_ec.P384.Dsa.pub_of_octets",
          "Mirage_crypto_ec.P384.Dh.key_exchange",
          "Mirage_crypto_ec.P521.Dsa.pub_of_octets",
          "Mirage_crypto_ec.P521.Dh.key_exchange"
        ],
        "opam_constraint": "mirage-crypto-ec {< \"2.3.0\"}"
      },
      "package": {
        "ecosystem": "opam",
        "name": "mirage-crypto-ec",
        "purl": "pkg:opam/mirage-crypto-ec"
      },
      "ranges": [
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "2.3.0"
            }
          ],
          "type": "ECOSYSTEM"
        },
        {
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "1f0bf67044e67cf6e46911fcd77a0ff706b6c3e7"
            }
          ],
          "repo": "https://github.com/mirage/mirage-crypto.git",
          "type": "GIT"
        }
      ],
      "versions": [
        "0.9.0",
        "0.9.1",
        "0.9.2",
        "0.10.0",
        "0.10.1",
        "0.10.2",
        "0.10.3",
        "0.10.4",
        "0.10.5",
        "0.10.6",
        "0.10.7",
        "0.11.0",
        "0.11.1",
        "0.11.2",
        "0.11.3",
        "1.0.0",
        "1.1.0",
        "1.2.0",
        "2.0.0",
        "2.0.1",
        "2.0.2",
        "2.0.3",
        "2.1.0",
        "2.2.0",
        "v2.2.0",
        "v2.1.0",
        "v2.0.3",
        "v2.0.2",
        "v2.0.1",
        "v2.0.0",
        "v1.2.0",
        "v1.1.0",
        "v1.0.1",
        "v1.0.0",
        "v0.11.3",
        "v0.11.2",
        "v0.11.1",
        "v0.11.0",
        "v0.10.7",
        "v0.10.6",
        "v0.10.5",
        "v0.10.4",
        "v0.10.3",
        "v0.10.2",
        "v0.10.1",
        "v0.10.0",
        "v0.9.2",
        "v0.9.1",
        "v0.9.0",
        "v0.8.10",
        "v0.8.9",
        "v0.8.8",
        "v0.8.7",
        "v0.8.6",
        "v0.8.5",
        "v0.8.4",
        "v0.8.3",
        "v0.8.2",
        "v0.8.1",
        "v0.8.0",
        "v0.7.0",
        "v0.6.2",
        "v0.6.1",
        "v0.6.0"
      ]
    }
  ],
  "aliases": [
    "CVE-2026-87736"
  ],
  "credits": [
    {
      "name": "Thomas Gazagnaire",
      "type": "REPORTER"
    },
    {
      "name": "Hannes Mehnert",
      "type": "REMEDIATION_DEVELOPER"
    }
  ],
  "database_specific": {
    "cwe": [
      "CWE-125",
      "CWE-248"
    ],
    "human_link": "https://github.com/ocaml/security-advisories/tree/main/advisories/2026/OSEC-2026-15.md",
    "osv": "https://github.com/ocaml/security-advisories/tree/generated-osv/2026/OSEC-2026-15.json"
  },
  "details": "The internal Point.of_octets function is missing a length check for compressed\npoints, and thus is raising an exception when a short buffer is provided. This\naffects all NIST curves (P-256, P-384, P-521) and both `Dsa.pub_of_octets` and\n`Dh.key_exchange` functions.\n\n## Fix\n\nThe fix is to check the length of the provided buffer.\n\n## Timeline\n\n- July 28th 2026: report to security@ocaml.org\n- August 7th: release of mirage-crypto-pk 2.3.0 and security advisory",
  "id": "OSEC-2026-15",
  "modified": "2026-09-10T10:15:04.488058356Z",
  "published": "2026-08-07T13:00:00Z",
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L",
      "type": "CVSS_V3"
    }
  ],
  "summary": "EC public key out of bounds read"
}
View JSON API Download JSON