About
what this counts, and what it does notCVEDB counts CVEs. That is the whole product: how many were published this year, how many all time, and how those break down by publisher, product and weakness type. Nothing here is weighted, scored or prioritised by us.
Where the numbers come from
How counting works
Counts that add up
Counts that do not
A CVE can name many affected products, so product counts sum to far more than the number of CVEs.
A CVE can also hold a CVSS score under several metric versions at once. The total scored figure counts scores, not CVEs, which is why it can exceed the number of CVEs that exist.
Not every CVE carries a weakness type, so those counts cover a subset.
Freshness
The site rebuilds hourly. Its data comes from an upstream mirror of the NVD and CVE
Program records, so the site can never be fresher than that feed — both timestamps are
shown below and in the header.
Using the data
Every number on this site is read from a JSON file you can fetch directly at
cvedb.github.io/data/. No key, no rate limit, no registration. If you want the counts
rather than the pages, start there.
Built with
Python builds the data and renders static pages with Jinja. The pages ship no charting
library — the charts here are counts, and counts draw fine with SVG and CSS.
Hosted on GitHub Pages. Source is on
GitHub.