米MITRE Corporationは、「CWE Top 25 Most Dangerous Software Weaknesses(最も危険なソフトウェア 脆弱性 トップ25)」の2025年版リストを公開しました。
2025年版は、39,080件のCVEをもとに、現実世界で頻出かつ影響の大きい「根本原因としての弱点(CWE)」をランキングしたものです。
概要
2025年版のトップ10は次のような顔ぶれです(括弧内はCWE ID)。
-
クロスサイトスクリプティング(CWE-79)
-
SQLインジェクション(CWE-89)
-
CSRF(CWE-352)
-
認可の欠如(CWE-862) – 昨年9位から5ランクアップ
-
Out-of-bounds Write(CWE-787) – 昨年2位から3ランクダウン
-
パストラバーサル(CWE-22)
-
Use After Free(CWE-416)
-
Out-of-bounds Read(CWE-125)
-
OSコマンドインジェクション(CWE-78)
-
コードインジェクション(CWE-94)
上位をざっと眺めると、
-
XSS / SQLi / CSRF / コマンドインジェクションといった入力の無害化(サニタイジング)・検証不備
-
Out-of-bounds Write/Read、Use After Freeなどのメモリ安全性の欠如
という、毎年目にする「古典的だが今も現役のミス」が依然として大きな割合を占めていることが分かります。
特に今年は、「Missing Authorization(CWE-862)」が4位まで急上昇している点が目を引きます。
「機能自体はあるが、そもそも権限チェックをしていない」「URLを知っていれば誰でも叩ける管理系API」といったパターンで、クラウドやSaaSの普及とともに顕在化しやすくなっている領域です。
トップ25の意味
このMITREの「CWE Top 25」は、単なるよくある脆弱性の人気投票ではありません。
まず、このリストは39,000件超の実際のCVE(脆弱性情報)をもとに、「何が原因だったのか」を逆引きした結果として作られていますので、
そもそもどんな設計ミス・実装ミスが、現実の被害につながっているのか」を可視化したものです。
もうひとつ大きいのは、このリストが「どこに時間や人的リソースとお金をかけるべきか」のヒントになります。
すべての脆弱性を同じ力加減で対策することは現実的ではありません。開発のリソースも、テストの時間も、人も限られています。トップ25に挙がっている弱点は、
-
件数が多い(=出やすい)
-
悪用されたときの影響が大きい(=攻撃者にとっておいしい)
となります。
自社の開発プロセスやアーキテクチャを見直すチェックリストにもなる
システムやサービス提供ベンダー側から見れば、このリストは自社の開発プロセスやアーキテクチャを見直すチェックリストにもなります。
「入力検証まわり(XSS / SQLi / コマンドインジェクション)は設計レベルでルール化できているか?」
「認可・アクセス制御(Missing Authorization / Improper Access Controlなど)は、仕様としてレビューしているか?」
「メモリ安全性(各種バッファオーバーフロー)は、言語選定やライブラリでどうカバーしているか?」
といった問いを、感覚ではなく世界的な統計を根拠に投げかけることができます。
新規ランクイン
2025年版では、6つのCWEが新たにトップ25入りしました。うち4つは、これまでランキング対象の集計方法の都合で「圏外」に見えていただけで、実際には多くのCVEで参照されていた弱点です。
新規ランクインしたCWEは以下の通りです。
-
CWE-120:Classic Buffer Overflow(11位)
-
CWE-121:Stack-based Buffer Overflow(14位)
-
CWE-122:Heap-based Buffer Overflow(16位)
→ いずれもバッファオーバーフローのバリエーションで、「メモリ安全性」の問題が改めて分解されてカウントされるようになった形です。 -
CWE-284:Improper Access Control(19位)
→ 「アクセス制御そのものが設計として不十分」という、より包括的なカテゴリ。 -
CWE-639:Authorization Bypass Through User-Controlled Key(24位)
→ 「ユーザーが制御できるIDやキーをそのまま信じてしまい、他人のデータにアクセスできる」タイプの認可バイパス。 -
CWE-770:Allocation of Resources Without Limits or Throttling(25位)
→ 資源に上限やスロットリングを設けないことで、DoS的な状況を自ら招いてしまう設計の甘さを示す弱点です。
特に、バッファオーバーフロー系(CWE-120/121/122)の3つが揃ってトップ25入りしたことは象徴的です。
ここ数年、「メモリ安全言語の採用」や「メモリセーフなフレームワーク」がトレンドになる一方で、C/C++など低レベル言語ベースの資産は依然として膨大に残っており、その現実をランキングが突きつけているとも言えます。
ランク外に落ちた弱点:抽象度の高いCWEが整理対象に
一方、今年のトップ25から外れた主なCWEは次の通りです。
-
CWE-269:Improper Privilege Management
-
CWE-190:Integer Overflow or Wraparound
-
CWE-287:Improper Authentication
-
CWE-400:Uncontrolled Resource Consumption
-
CWE-798:Use of Hard-coded Credentials
-
CWE-119:Improper Restriction of Operations within the Bounds of a Memory Buffer
これらが「突然安全になった」というわけではなく、集計方法の見直しの影響が大きいとMITREは説明しています。
2025年版では、これまで一部で行われていた「抽象的な親CWEにまとめて集約(正規化)」する処理をやめ、
CVEに付与された素のCWEマッピングをそのまま集計しています。
その結果、より具体的なCWE(Base / Variantレベル)に票が分散し、
抽象度が高く「Discouraged(マッピング非推奨)」とされているCWEがトップ25から姿を消しました
参照








