Reviewed advisories drop, but not for the reason you think

GitHub published 4,101 reviewed advisories in 2025—the fewest since 2021. That sounds like the open source ecosystem is getting safer, but the data tells a more nuanced story. The decline isn't because fewer vulnerabilities are being reported; it's because GitHub has largely exhausted the backlog of older, unreviewed vulnerabilities that predate the Advisory Database. Looking only at newly reported vulnerabilities from GitHub's sources, the number of reviewed advisories actually rose 19% year over year.

Stacked bar graph showing the number of advisories published from GitHub's feeds and those published from the backfill campaigns.

Reviewed Year	From Feeds	From Backfill
2020	1145	1539
2021	1419	1412
2022	2731	1848
2023	3065	1792
2024	3142	2093
2025	3734	367

The "unreviewed" label in the database can also be misleading. Most advisories in that state have already been examined by a curator and found not to affect any package in a supported ecosystem, so they may never progress to a full review. The practical upshot is that developers should be seeing fewer new Dependabot alerts for old vulnerabilities.

Stacked line graph showing the cumulative number of advisories of each type over the years.

Year	Unreviewed	Reviewed	Malware	Withdrawn
2019	0	381	0	42
2020	0	3,065	0	101
2021	1,978	5,896	0	140
2022	177,369	10,475	7,433	195
2023	202,583	15,332	9,136	290
2024	238,642	20,567	13,404	413
2025	283,447	24,668	20,649	522

If you encounter an unreviewed advisory that does affect a supported package, GitHub encourages you to flag it through the advisory editing process so it can be properly reviewed.

Ecosystem distribution and notable shifts in 2025

The breakdown of advisories reviewed in 2025 largely mirrors the overall database composition, with one notable outlier: Go. The ecosystem was overrepresented by 6% in this year's advisories, a result of deliberate campaigns to re-examine packages where coverage had been inconsistent and potentially missing advisories existed.

Circle graph showing the distributions of ecosystems of advisories reviewed in 2025.

Ecosystem	Proportion of 2025 Reviewed Advisories
Composer	19.40%
Erlang	0.22%
GitHub Actions	0.41%
Go	17.33%
Maven	22.24%
npm	14.92%
Nuget	2.33%
Pip	17.16%
RubyGems	1.47%
Rust	4.31%
Swift	0.22%
Circle graph showing the distributions of ecosystems of reviewed advisories across the entire GitHub Advisory Database.

Ecosystem	Proportion of All Reviewed Advisories
Composer	20.16%
Erlang	0.16%
GitHub Actions	0.15%
Go	10.91%
Maven	24.33%
npm	17.05%
Nuget	2.98%
Pip	16.33%
Pub	0.04%
RubyGems	3.60%
Rust	4.13%
Swift	0.17%

Vulnerability types and CWE tagging improvements

Cross-site scripting (CWE-79) remains the most common vulnerability type by a wide margin. But 2025 saw unusual spikes in several categories: resource exhaustion (CWE-400 and CWE-770), unsafe deserialization (CWE-502), and server-side request forgery (CWE-918). The jump in CWE-863 ("Incorrect Authorization") is largely a reclassification artifact, as the CWE program discourages the broader CWE-284 and CWE-285 categories that were previously used.

RankCommon Weakness Enumeration (CWE)Number of 2025 Advisories*Change in Rank from 2024Change in Rank from the Overall Database
1CWE-79672+0+0
2CWE-22214+2+1
3CWE-863169+9+8
4CWE-20154+1+1
5CWE-200145-2-1
6CWE-400144+4+0
7CWE-770136+7+10
8CWE-502134+5+1
9CWE-94119-3-1
10CWE-918103+5+8

* An advisory may list more than one CWE. For example, an advisory could have both CWE-400 and CWE-770, counting toward both categories.

One of the most meaningful quality improvements was in CWE tagging specificity. Advisories with no CWE at all dropped 85%, from 452 in 2024 to just 65 in 2025. While CWE-20 ("Improper Input Validation") is still frequently cited, it's now typically accompanied by one or more additional CWEs describing the concrete failure mode, making alerts far more actionable for triage and remediation. Dependabot's auto-triage rules can be configured to filter alerts by CWE.

Prioritizing responses with CVSS and EPSS

GitHub provides two complementary scoring systems for prioritization. The Common Vulnerability Severity Score (CVSS) assesses the severity of a vulnerability's impact, while the Exploit Prediction Scoring System (EPSS) estimates the likelihood of exploitation within the next 30 days.

Priority	CVSS	EPSS
Critical	392	11
High	1237	96
Moderate	1994	221
Low	475	1517
Very Low		1872

Most vulnerabilities skew toward the moderate-to-high end of the CVSS impact range. Low-impact vulnerabilities are likely underrepresented because researchers and maintainers often don't consider them worth the effort to report—a pattern the EPSS scores for moderate and high severity vulnerabilities tends to support.

Priority	CVSS	EPSS
Critical	8	4
High	8	11
Moderate	2	3
Low	0	0
Very Low	0	0

Comparing both scoring systems against CISA's Known Exploited Vulnerabilities Catalog shows that exploited vulnerabilities are at least moderate in severity, with most falling in the critical or high range. CVSS flags more exploited vulnerabilities as critical, but it also scores plenty more non-exploited vulnerabilities at those levels. Combining both metrics provides a more reliable basis for deciding what to fix first to prevent real-world exploitation.

npm malware advisories surge

2025 was a record year for npm malware disclosures, driven largely by campaigns like SHA1-Hulud. Published malware advisories jumped 69% compared to 2024, the highest volume since GitHub first added historical malware support in 2022.

Dependabot can now alert on npm packages with known malicious versions. Once malware alerting is enabled, Dependabot matches your npm dependencies against malware advisories in the GitHub Advisory Database.

Bar graph showing the number of published malware advisories each year.

Publication Year	Published Malware Advisories
2022	7433
2023	1703
2024	4268
2025	7197

CVE publications and CNA growth

GitHub's CVE Numbering Authority (CNA) had a banner year, publishing 35% more CVE records than in 2024—outpacing the overall CVE Project's 21% increase. Growth was steady at 10–16% per quarter across the year.

Bar graph showing the number of CVEs GitHub published year.

Published Year	CVEs Published in 2025
2020	509
2021	1047
2022	1297
2023	1784
2024	2152
2025	2903
Bar graph showing the number of CVEs published by GitHub each quarter in 2025.

2025 Published Quarter	Number of CVEs
Q1	598
Q2	660
Q3	762
Q4	883

The CNA program also attracted more participants, with a 20% increase in new organizations requesting CVE IDs. Unlike reviewed global advisories—which are tied to packages in supported ecosystems—any maintainer on GitHub can request a CVE, even for software published outside those ecosystems. In fact, 2025 was the first year that GitHub published more CVEs from organizations not using a supported ecosystem than from those that were.

Bar graph showing the number of new organizations using GitHub for CVEs for each year.

First CVE Year	New Organizations Using GitHub for CVEs
2020	231
2021	303
2022	328
2023	444
2024	568
2025	679
Stacked bar graph showing the number of CVEs GitHub published for vulnerabilities affected supported packages vs CVEs that don’t.

Published Year	Does Not Affect an Advisory DB Supported Ecosystem	Affects Advisory DB Supported Ecosystem
2020	203	306
2021	382	665
2022	491	806
2023	827	957
2024	961	1191
2025	1480	1423

GitHub credited 987 organizations for publishing CVEs through its CNA in 2025, highlighting the most prolific ones below.

Top 10 organizations using the GitHub CNA
OrganizationNumber of 2025 CVEs
LabReDeS (WeGIA)*130
XWiki40
Frappe28
Discourse27
Enalean27
FreeScout*27
DataEase26
Nextcloud25
GLPI24
DNN Software*23

* Organizations that published CVEs through GitHub for the first time in 2025

Looking ahead to 2026

The year's headline numbers are substantial: 4,101 reviewed advisories, 7,197 malware advisories, 2,903 CVEs published, and 679 new organizations using GitHub's CNA services.

For maintainers and organizations looking to contribute to security in the coming year, several concrete actions can help. Requesting a CVE directly from a repository security advisory is free and streamlines the publication process. Suggesting edits to unreviewed advisories or those with incorrect severity scores or affected versions improves database accuracy; in 2025, 675 community contributions refined the data. Enabling Dependabot security updates and exploring GitHub Advanced Security protects your own projects. And adding a security policy while enabling private vulnerability reporting makes it easier for researchers to report issues to you securely.