Vulnerability Research

CWE Top 25: The Most Dangerous Software Weaknesses

The complete 2025 CWE Top 25, its changed methodology, an operator control model, verified API syntax, and a plan for turning ranks into prevention evidence.

Chris Seymour, Cofounder and Principal at Artemes AI
Chris Seymour
Cofounder, Principal
Aug 28, 2026 10 min read
Four group model turning the CWE Top 25 into owned controls for input boundaries, authorization, memory safety, and resource handling

The CWE Top 25 is useful only when it changes engineering work. Treat it as a trivia list, and the same weakness classes will keep returning through different CVE IDs.

It ranks common and damaging software weakness types. It does not rank the vulnerabilities in your fleet, prove that an application is exposed, or tell a team which ticket to fix first. Its best use is earlier in the lifecycle: coding standards, design reviews, test coverage, procurement questions, and root cause analysis.

Most guides stop after copying the table. That misses the operating problem. Twenty five labels spread across hundreds of services create nobody's job. This guide preserves the complete 2025 list, explains the changed methodology, groups the weaknesses into owned controls, and shows how to connect public data to local evidence.

Infographic

Turn 25 weakness names into four owned control systems

A ranked list becomes useful when engineering owners can attach tests, standards, and evidence to it.

CWE Top 25 control ownership modelFour panels group the CWE Top 25 into input and code boundaries, identity and authorization, memory safety, and state and resource control, followed by a shared verification layer.INPUT AND CODE BOUNDARIESXSS, SQL, path, command, uploadIDENTITY AND AUTHORIZATIONCSRF, missing and incorrect checksMEMORY SAFETYbounds, lifetime, stack, heapSTATE AND RESOURCE CONTROLvalidation, nulls, limits, exposureOWNER + PREVENTION TEST + RELEASE EVIDENCE

What is the CWE Top 25?

CWE stands for Common Weakness Enumeration. A CWE describes a pattern in design or implementation that can produce vulnerabilities. A CVE identifies a specific publicly disclosed vulnerability. The distinction is the same as cause versus case. Our CVE vs CWE guide explains that boundary in detail.

The 2025 list was published on December 11, 2025. The official 2025 CWE Top 25 table combines prevalence with average CVSS severity. Cross site scripting remained first with a danger score of 60.38. SQL injection ranked second at 28.72. Missing authorization moved from ninth to fourth. Those ranks describe the source dataset, not your application portfolio.

Use the CVEs and vulnerability intelligence pillar guide when you need the publication chain around a specific issue. Use the Top 25 when you want to stop a class of issues from entering that chain again.

What are the 2025 CWE Top 25 software weaknesses?

RankCWEWeaknessControl question
1CWE-79Cross site scriptingEncode output for the destination context
2CWE-89SQL injectionBind data as parameters, never build commands
3CWE-352Cross site request forgeryBind state changes to user intent
4CWE-862Missing authorizationEnforce permission at every protected action
5CWE-787Out of bounds writeUse memory safe code or checked bounds
6CWE-22Path traversalResolve and constrain filesystem paths
7CWE-416Use after freeControl object lifetime and ownership
8CWE-125Out of bounds readCheck length before every read
9CWE-78Operating system command injectionKeep untrusted data out of shells
10CWE-94Code injectionDo not evaluate untrusted content as code
11CWE-120Classic buffer overflowUse bounded copies and safe types
12CWE-434Dangerous file uploadVerify type, content, name, and storage
13CWE-476Null pointer dereferenceMake absence explicit and tested
14CWE-121Stack buffer overflowKeep writes within stack object bounds
15CWE-502Unsafe deserializationAccept only constrained data forms
16CWE-122Heap buffer overflowCheck heap allocation and copy length
17CWE-863Incorrect authorizationTest each role against each action
18CWE-20Improper input validationValidate syntax and business rules
19CWE-284Improper access controlCentralize and deny by default
20CWE-200Sensitive information exposureControl output, logs, and errors
21CWE-306Missing authenticationRequire identity before critical functions
22CWE-918Server side request forgeryConstrain destinations and network reach
23CWE-77Command injectionSeparate control syntax from data
24CWE-639Authorization bypass by user keyCheck object ownership on the server
25CWE-770Unbounded resource allocationSet quotas, timeouts, and rate limits

The short control statements are a starting point, not a universal fix. Language, framework, trust boundary, and deployment model change the implementation. The useful move is to assign each weakness to a control owner who can show prevention and test evidence. A static scanner finding with no owner is merely another queue.

How is the CWE Top 25 calculated?

MITRE's published 2025 methodology analyzed 39,080 CVE Records published from June 1, 2024 through June 1, 2025. The score normalizes the frequency of each mapped weakness and its average CVSS 3.0 or 3.1 base score, then multiplies those values by 100. A rare catastrophic weakness can miss the list. A common low impact bug can miss it too.

Mapping quality needed repair before scoring. The team placed 9,468 records, 24 percent of the dataset, into a review scope. It sent batches to 281 CVE Numbering Authorities and received confirmation or corrections for 2,459 records from 170 authorities. That is a useful warning for anyone building a dashboard from the rank: classification is maintained data, not an immutable property of a CVE.

A simple formula helps. If 18 application teams each spend two hours mapping a list to their own controls, the first pass costs 36 engineering hours. If the security group instead creates four reusable control families and each team spends 45 minutes mapping exceptions, the local work falls to 13.5 hours. The central work still matters, but the organization stops paying for the same interpretation 18 times.

What changed in the CWE Top 25 during the last 12 months?

The 2025 calculation changed the data model. Earlier lists normalized mappings into a simplified set of 130 weakness types used by NVD. The 2025 team used the actual mappings supplied and reviewed by authorities. That change allowed more precise child weaknesses to stand on their own and added classic, stack, and heap buffer overflow entries at ranks 11, 14, and 16.

Suggestions from a grounded language model also informed the remapping review. Human authorities made the decisions. The official 2025 key insights report that authority supplied mappings rose from 53 percent of records in the 2024 dataset to 67 percent in 2025. Better source mappings can move ranks even when developer behavior does not change.

That is the recent development older explainers miss. A rank change can reflect weakness prevalence, severity, mapping precision, or methodology. Missing authorization moving five places deserves attention. Command injection falling ten places does not prove command injection became safe.

How should engineering teams group the Top 25?

Start with control ownership rather than rank. Input and code boundary weaknesses belong with engineers who own encoding, parameter binding, parsers, file handling, and destination controls. Identity and authorization weaknesses need a shared policy engine, negative tests, and object level checks. Memory defects require safe languages where possible, compiler defenses, fuzzing, and explicit lifetime rules. State and resource defects need invariants, limits, timeouts, and failure tests.

Some weaknesses touch more than one group. Server side request forgery is both input control and network policy. Unsafe deserialization crosses parser design and code execution. Do not argue over a perfect taxonomy. Give the issue an owner, define the prevention rule, add a test, and record where release evidence lives.

Procurement should ask the same questions. Does a vendor publish precise CWE mappings? Can it show how a defect class changed secure development standards? Does the fix remove the root cause or patch one path? A supplier that can answer only with a CVSS number has described impact without showing learning.

Does a higher CWE rank mean you should fix it first?

No. The list itself shows why. Operating system command injection ranked ninth but had 20 CVEs in CISA's Known Exploited Vulnerabilities catalog. Use after free ranked seventh with 14. Cross site scripting ranked first with seven. Frequency and average severity produced the rank. Observed exploitation is a different signal.

Local priority still needs affected product proof, reachable code, exposure, available controls, business impact, exploitation evidence, and repair cost. The NVD operator guide shows how public enrichment fits without replacing those facts. The CVE meaning guide shows what a ticket must preserve.

Root cause rank should influence prevention investment. Local evidence should control incident and repair work. Mixing those jobs creates a queue where a common weakness in an unreachable test system outranks an exploited weakness on an exposed production service.

How can you query CVEs by CWE from the command line?

The NVD CVE API accepts a cweId filter. The syntax below follows the official NVD vulnerability API documentation and returns one sample record plus the total matching count.

curl -fsSL \
  'https://services.nvd.nist.gov/rest/json/cves/2.0?cweId=CWE-79&resultsPerPage=1' \
  | jq '{totalResults, cve: .vulnerabilities[0].cve.id,
          weakness: .vulnerabilities[0].cve.weaknesses[0].description[0].value}'

The command was checked against the live API on August 28, 2026. A production collector must page results, respect rate limits, store modification times, and handle more than one weakness mapping per record. Do not use the current total as a prevalence measure for the 2025 list because its time window and record population differ.

How do you turn the list into a working program?

  1. Map each Top 25 entry to a named engineering control owner.
  2. Document the approved prevention pattern for each language and framework in use.
  3. Add a negative test that proves the unsafe behavior fails.
  4. Tag confirmed findings with the most precise supported CWE, not a convenient parent.
  5. Review escaped defects by weakness family and change the control when the same cause returns.
  6. Report control coverage and recurrence to leaders, not a decorative Top 25 compliance percentage.

Deep endpoint context with AI driven analysis can help connect a published weakness to observed software and exposure. That is how Artemes approaches the downstream decision. Prevention ownership remains an engineering job. No model can compensate for a permission check that never existed.

Frequently asked questions about the CWE Top 25

Is the CWE Top 25 the same as the OWASP Top 10?

No. CWE ranks individual software weakness types using CVE mappings and severity. OWASP groups broader web application risk categories and uses a different process. The lists overlap, but their units and purpose differ.

Is a CWE a vulnerability?

A CWE is a weakness type. A CVE is a specific disclosed vulnerability. One weakness can cause many CVEs, and a complex vulnerability can have more than one relevant weakness mapping.

Should every Top 25 weakness become a release gate?

No. Gate a release when the team has a reliable test, clear scope, and a defined exception path. Weak signals create ignored gates. Start with exploitable paths and controls that produce repeatable evidence.

How often should a team review the list?

Review each annual release and compare it with your escaped defects at least quarterly. The annual rank informs investment. Your own recurrence data should drive changes between releases.

The executive takeaway

Assign the 25 entries to real control owners this month. For each one, demand a prevention rule, a negative test, and release evidence. Then compare the list with the last year of escaped defects. Fund the control families that recur. A ranked poster changes nothing. Owned controls do.

Artemes AI

Put more evidence behind vulnerability decisions

Artemes AI combines endpoint telemetry, sourced vulnerability intelligence, and analysis with practitioner review so teams can examine the evidence, missing context, and recommended next step together. We are accepting early access requests now.

Chris Seymour, Cofounder and Principal at Artemes AI

Chris Seymour

Cofounder, Principal

Chris writes about vulnerability prioritization, exploitability, remediation supported by AI, and the engineering realities of turning scanner output into remediation decisions.

CVE Analysis
Threat Modeling
Blue Team
Found this useful? Share it.

Get articles like this in your inbox.

Security research and occasional Artemes AI product updates.