OpenSSL vulnerability disclosures

Disclosures per quarter by finder provenance

The final bar is a partial quarter.

Every disclosure, by severity

Click a point to open the OpenSSL metadata record.

Definition

OpenSSL is a widely deployed, security-critical cryptographic library. Its official security metadata provides a publication date, project severity, reporter and remediation credits, affected version ranges and references for each CVE.

OpenSSL is a fixed project, not a fixed body of code. Code size, features, supported versions and bug surface change, and new bugs continue to be introduced: the January 2026 QUIC cipher-handling vulnerability CVE-2025-15468 affected code added with QUIC support in OpenSSL 3.2. The series therefore cannot assume that a fixed stock of findable bugs should deplete, or rule out more software to search as an explanation for a rising count.

A disclosure here is one CVE in the year of OpenSSL's datePublic. It is not a discovery date, a count of bugs introduced or a measure of bugs remaining. Finder provenance identifies who reported a CVE and, when separately corroborated, the reported method; it does not measure search effort. In this folder, "corroborated AI" means CVE-level evidence that an AI system produced the finding, and 27 of 39, or 69%, of the 2026 CVEs carry an AI-lab affiliation or an explicit AI method marker — a wider band than the corroborated one, because affiliation alone is not counted as method evidence.

Facts

Finder provenance Critical High Moderate Low
Corroborated AI 0 2 1 15
AI-affiliated, method unverified 0 0 3 6
Conventional/fuzzing 0 0 3 9
No reporter credit 0 0 0 0

OpenSSL disclosures by severity: counts by year and finder provenance since 2015.

The severity chart draws the table's cohorts in their multi-year trend: one grid per finder-provenance cohort, years across, OpenSSL's ratings down, every cell printing how many CVEs it holds. It starts in 2015 because the structured metadata carries no severity before 2014, and an unrated record is missing data rather than a low-severity one. Annual sizes run from three to thirty-five CVEs, so the annual mix swings widely on small counts.

OpenSSL vulnerabilities by coordinated 2026 publication batch.

The batch chart shows the 2026 total arriving on five coordinated publication dates rather than at a steady seven-month rate. Publication-batch size can reflect release coordination and remediation timing as well as the rate at which bugs were found.

The collection-wide cumulative index redraws this series as cumulative disclosures to date:

Cumulative disclosures to date.

Method

fetch.py downloads one tarball for OpenSSL release-metadata commit 597a9a75044f, the final metadata correction on 5 August 2026. The pin makes the vendored snapshot reproducible. It parses all 273 secjson/CVE-*.json records and fails on a missing publication date or severity; coverage is 273 of 273 structured records, with no silent omissions. Reporter/finder credits are kept separate from remediation developers.

openssl-cves.csv is the auditable, one-row-per-CVE source for both aggregates. It records:

Here explicit_ai means corroborated AI method, not employment at an AI company. It is yes only in these cases:

  1. A separate source enumerates the CVE as produced by an AI system: Aisle's three September 2025 findings, all 12 January 2026 findings, and five April 2026 findings [@aisleopenssl2025; @aisleopenssljan2026; @aisleopensslapr2026].
  2. The official reporter text itself names the method, which applies to CVE-2026-45447, quoted in AI attribution below.

The Aisle evidence is external to OpenSSL but is still the vendor's own finding-level claim, not a neutral replication. OpenSSL independently confirms the reporter identities but records source.discovery as UNKNOWN; that field is not converted into AI attribution. Bare Aisle or Anthropic affiliations without CVE-level method evidence remain ai_affiliated=yes, explicit_ai=no.

AI and fuzz are independent booleans, so a future AI-guided fuzzing credit can be true in both columns. The mutually exclusive chart bands are only a display rule, applied in this order: corroborated AI; affiliation-only; credited conventional/fuzzing; no reporter.

figure.py derives the four-band quarterly chart, the event-level 2026 batch chart and the severity chart from the CSVs; quarters come from each CVE's publication date, so the main chart and the CVE ledger cannot disagree. The severity chart refuses to draw if any CVE from 2015 on lacks a rating. check.py runs offline semantic checks: unique CVEs, complete dates, category sums, CVE-to-annual and CVE-to-reporter aggregation, evidence for every AI classification, pinned source hashes, and the fact lines above. For a network-backed verification that every vendored field still exactly matches the pinned OpenSSL snapshot, run:

python3 problems/cyber-openssl/fetch.py --check

Limitations

AI attribution

"Thai Duong (Calif.io in collaboration with Claude and Anthropic Research)" — OpenSSL reporter credit for CVE-2026-45447, published 2026-06-09, vendored in openssl-cves.csv, read 2026-08-14

Sources