2024 CWE Top 25 Key InsightsThere are several notable shifts in ranked positions of weakness types from last year’s list, including weaknesses dropping away or making their first appearance in a Top 25. AnalysisThe introduction of a new methodology for the 2024 CWE Top 25 resulted in many rankings changes from last year’s list. In fact, only three weaknesses retained the same ranking as last year:
The biggest movers up the list are:
The biggest downward movers are:
New entries in the Top 25 are:
Entries that fell off the Top 25 are:
Mapping UsageThere were 19,797 individual mappings to the Top 25 CWEs in this year’s list. Every CWE is annotated with a “mapping usage recommendation” that suggests whether the CWE should be used for vulnerability root cause mapping given its level of abstraction and actionability. The CWEs in the 2024 Top 25 had the following mapping usage recommendations:
In contrast, last year’s 2023 Top 25 had the following mapping usage recommendations:
AbstractionCWE contains over 900 weaknesses that range from abstract and conceptual to precise and technology- or language-specific. A precise weakness will have a “parent” weakness that is more abstract, which may also have “parent” weaknesses, and so on. There are four types of weakness abstractions, from most abstract to most specific: Pillar, Class, Base, and Variant. For root cause mapping, CWE’s root cause mapping guidance recommends that Base and Variant level CWEs should be used whenever possible to ensure providing adequate specificity, actionability, and root cause information for a vulnerability. Class level CWEs may be used for root cause mapping if there is no accurate Base or Variant level CWE. In the 2024 Top 25, the number of maps based on CWE abstraction were:
This year’s list contains 9 classes, which is an increase over last year’s list at 8 classes. For 2023, the abstraction counts were:
It should be noted that the “Compound” CWE is for Cross-Site Request Forgery (CSRF) (i.e., CWE-352), which is a composite of multiple weaknesses; CWE-352’s abstraction aligns with that of a Base. Possible Causes of Rank ShiftsThere were significantly lower CVE counts for most CWEs in this year’s analysis, possibly because of many CVE Records in the first half of 2024 not receiving CWE mappings from U.S. National Vulnerability Database (NVD) analysts. The issue remained in the final data pull on November 4, 2024, across all available mapping information in the CVE List and the NVD. For example, the number of CVE Records that were mapped to CWE-787: Out-of-bounds Write declined by over 2,000 this year. It is not clear whether these gaps affect the relative rankings, since the distribution of unmapped CVEs seems likely to align roughly with the CWE distribution of the entire data set. The Top 25 team is excited to see more and more CNAs routinely providing CWE mappings at the time of disclosure. The CVE Program’s CVE Numbering Authority (CNA) Enrichment Recognition List lists these CNAs regularly in their metrics. Less Complete Mapping Analysis of “Frequently Misused” CWEsIn previous years, the CWE Team would focus much of its mapping analysis on CVE Records that mapped to CWEs that are frequently misused (i.e., known or suspected to be susceptible to erroneous mappings when better choices are available). These were often remapped to lower-level CWEs by the CWE Team. As this year’s methodology emphasized CNA mapping review and only 27% of the dataset ended up being re-analyzed by CNAs, many CVE Records with potentially suboptimal mappings were not remapped. For example, the following CWEs increased in ranks this year, although they would have been a focus of analysis by the CWE Team, and their position on the list would have likely been lower — possibly outside of the Top 25.
Omission of Chain AnalysisIn 2022 and 2023, the CWE Team analysis would include chains, such as:
The Top 25 calculation algorithm accounts for all CWEs in the chain. Since few CNAs perform chain analysis, and it is unclear how many even listed all chain elements in their responses, it is highly likely that there were fewer chains for this year’s Top 25 analysis. This might be a major factor in CWE-20: Improper Input Validation, CWE-190: Integer Overflow or Wraparound, and CWE-362: Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition') moving down the list. |