---
title: "CVEとCWEの違いとは？CWEの意味と、1件のCVEにCWEが付く仕組みを実例で解説"
url: "https://www.issoh.co.jp/tech/details/5119/"
published: 2025-01-31
updated: 2026-10-29
categories: ["脆弱性・インシデント"]
publisher: "株式会社一創"
---

# CVEとCWEの違いとは？CWEの意味と、1件のCVEにCWEが付く仕組みを実例で解説

CVEとCWEは名前が似ていますが、指しているものが違います。CVEは「この製品のこの版で見つかった1件の脆弱性」に付く番号で、CWEは「その脆弱性を生んだ弱点の種類」に付く番号です。この記事では、両者の違いを表で整理したうえで、CWEの中身（2026年10月28日公開のCWE 5.0）、1件のCVEに誰がどのCWEを付けているのか、2025年版CWE Top 25の読み方までを、公式APIで取った実データで説明します。

## まとめ：CVEは1件の脆弱性、CWEはその原因の型

CVEは個別の脆弱性の識別番号で、`CVE-2021-44228`（Log4Shell）のように年と連番で表します。CWEは製品に依存しない弱点の分類で、`CWE-79`（クロスサイトスクリプティング）のように番号だけで表します。1件のCVEには0〜複数のCWEが対応付けられ、同じCWEが複数のCVEの原因を表すことがあります。対応するCVEの件数はCWEごとに異なります。

- 件数の桁が違います。CVEは2025年だけで48,244件公開され、CWEの弱点（Weakness）はCWE 5.0で956件です。
- CVEに付くCWEは、まずそのCVEを採番したCNA（CVE採番機関）が付けます。2026年4月15日以降、NVDは条件に合うCVEを優先して詳細情報を補完しています。本記事の標本では、CWEが付いた全件にCNAまたはADP由来の値が含まれていました。
- CNAが付けるCWEには粒度の粗いものが混じります。Log4ShellではCNAが付けた3件のうち2件が、CWE側で「対応付けに使うべきでない（Discouraged）」とされる区分でした。
- 使い分けは、個別対応（どれから直すか）がCVE＋CVSS＋KEV、再発防止（何を作り込まないか）がCWEです。

## CVEとCWEの違いを比較表で確認

違いを観点ごとに並べます。年が入るか、誰が番号を付けるか、深刻度を持つか、の3点が混同しやすいところです。

| 観点      | CVE                                  | CWE                         |
| ------- | ------------------------------------ | --------------------------- |
| 正式名称    | Common Vulnerabilities and Exposures | Common Weakness Enumeration |
| 日本語の呼び方 | 共通脆弱性識別子                             | 共通脆弱性タイプ一覧                  |
| 指すもの    | 特定製品の1件の脆弱性                          | 製品に依存しない弱点の種類               |
| 番号の形    | CVE-年-4桁以上の連番                        | CWE-番号（年は入らない）              |
| 件数      | 2025年の公開48,244件                      | Weakness 956件（CWE 5.0）      |
| 番号を付ける側 | CNA（各ベンダー等）                          | CWEプログラム（MITRE）             |
| 深刻度     | 持たない（CVSSを併記）                        | 持たない                        |
| 主な用途    | 影響確認・パッチ適用                           | 原因分析・再発防止                   |

CVEの年は「採番した年」とは限りません。CNA運用規則の[4.2.19項](https://github.com/CVEProject/cve-documents/blob/master/CNA%5FRules.md)は、脆弱性が初めて公表された年、CVEレコードが初めて公開された年、CVE IDを予約した年のいずれかを使うよう定めています。連番はCVEのJSONスキーマ上4〜19桁を許すので、5桁・6桁の番号も正規です。CWEの番号には年も順序の意味もなく、CWE-79とCWE-89の近さは内容の近さを表しません。

運営はどちらもMITREで、スポンサーは米国CISAです。CVEとCWEは同じ枠組みの「姉妹」なので、片方の番号の付け方をもう片方に当てはめると読み違えます。CVE番号そのものの読み方や検索方法は[CVE（共通脆弱性識別子）とは？番号の読み方・CVSS/CWE/NVDとの違いと調べ方](/tech/details/5092/)で詳しく扱っています。

## CWEとは：共通脆弱性タイプ一覧の構成とCWE 5.0の変更点

CWEは、ソフトウェアとハードウェアの弱点を種類ごとに番号付けした一覧です。現行版は[2026年10月28日に公開されたCWE 5.0](https://cwe.mitre.org/news/archives/news2026.html)で、同時にXMLとJSONのスキーマが8.0に上がりました。告知は一部を互換性のない変更（breaking changes）と明記しており、CWEのデータを取り込んでいるツールは読み込み処理の見直しが要ります。

### 抽象度の4段階：Pillar・Class・Base・Variant

同じ「認証の不備」でも番号が複数あるのは、抽象度の違う階層が並んでいるためです。

| 抽象度     | 位置づけ              | 例                     |
| ------- | ----------------- | --------------------- |
| Pillar  | これ以上抽象化できない最上位    | CWE-284 不適切なアクセス制御    |
| Class   | 言語・技術に依存しない抽象的な弱点 | CWE-287 不適切な認証        |
| Base    | 検出・防止の方法を示せる具体さ   | CWE-79 クロスサイトスクリプティング |
| Variant | 特定の言語・技術に結び付く     | CWE-416 解放後使用         |

脆弱性の原因として使うのはBaseかVariantが基本です。[CWEの根本原因マッピングの手引き](https://cwe.mitre.org/documents/cwe%5Fusage/guidance.html)は「可能な限りBaseまたはVariantを使い、合うものが無いときだけClassを使う」としています。Pillarは分類の見出しであって、対策を決める単位には向きません。

### Weakness・Grouping・Viewの件数（CWE 5.0）

CWEの一覧には、弱点そのもの（Weakness）のほかに、弱点を束ねる入れ物が2種類あります。CWE 5.0で、従来の「Category」は「Grouping」に名前が変わりました。

| 種別                  | CWE 4.20 | CWE 5.0 |
| ------------------- | -------- | ------- |
| Weakness            | 944      | 956     |
| Grouping（旧Category） | 387      | 396     |
| View                | 55       | 58      |
| Deprecated          | 64       | 67      |
| 合計                  | 1,450    | 1,477   |

数字は[4.20と5.0の差分レポート](https://cwe.mitre.org/data/reports/diff%5Freports/v4.20%5Fv5.0.html)から取りました。5.0ではセッション管理系の弱点（CWE-1462 不適切なセッション管理など）が新設され、新しいビューとしてOpenSSFのPython向けセキュアコーディングガイドやOWASPのGo向けガイドに対応したものが加わっています。ビューは目的別の切り口で、開発者向けのCWE-699（Software Development）、弱点の階層全体を示すCWE-1000（Complete Weakness Hierarchy、旧称Research Concepts）、ハードウェア向けのCWE-1194（Hardware Design）、公開脆弱性の分類用のCWE-1003がよく使われます。

なお、2026年10月29日時点でCWEのREST API（`cwe-api.mitre.org`）の版情報は4.20を返しており、Webサイトの5.0とずれています。APIで件数を数えると969件など別の数字が出るので、件数は差分レポートの表で確認するのが確実です。

## 1件のCVEにCWEが付く仕組み：CNA・ADP・NVDの3つの付け手

CVEとCWEは別の番号ですが、CVEのデータの中にCWEの欄があり、ここでつながります。付け手は3者います。

- CNA：そのCVEを採番した機関（多くは製品ベンダー）。CVEレコードの `problemTypes` 欄にCWE-IDを書きます（[CVE Record Formatのスキーマ](https://raw.githubusercontent.com/CVEProject/cve-schema/main/schema/CVE%5FRecord%5FFormat.json)）。
- ADP：公開後に情報を足す機関。CISAの「Vulnrichment」がCWEを補うことがあります。
- NVD：米国NISTのデータベース。NIST自身の判断で `nvd@nist.gov` を付け手としたCWEを足します。

同じCVEでも付け手ごとにCWEが違うことは珍しくありません。2026年10月29日にCVE Services APIとNVD APIから取った実例です。

| CVE                         | CNA            | CISA ADP | NVD（NIST）      |
| --------------------------- | -------------- | -------- | -------------- |
| CVE-2021-44228（Log4Shell）   | CWE-502・400・20 | なし       | CWE-917        |
| CVE-2024-3400（PAN-OS）       | CWE-77・20      | なし       | CWE-77         |
| CVE-2014-0160（Heartbleed）   | なし             | CWE-125  | CWE-125        |
| CVE-2023-4966（Citrix Bleed） | CWE-119        | なし       | NVD-CWE-noinfo |

Log4Shellでは、Apache側が「信頼できないデータの逆シリアル化」など3件を付け、NISTは「式言語インジェクション（CWE-917）」を付けています。原因をどこに見るかで答えが割れる典型です。Citrix Bleedでは、CNAがCWE-119を付けた一方で、NISTは判断材料が足りないとして `NVD-CWE-noinfo` を付けました。

### NVD-CWE-OtherとNVD-CWE-noinfoの意味

NVDの画面やAPIで見かけるこの2つはCWEの番号ではなく、NVDが使う印です。NISTの研究者による[論文](https://tsapps.nist.gov/publication/get%5Fpdf.cfm?pub%5Fid=957805)は、`NVD-CWE-Other` を「CWE-1003のビューに無いCWE」、`NVD-CWE-noinfo` を「判断に必要な情報が足りない」と説明しています。NVDはCWEを付けるとき、公開脆弱性の分類用に絞ったビューCWE-1003（約130件）の中から最も具体的なものを選ぶ運用です（[NVD CVMAPの説明](https://nvd.nist.gov/vuln/cvmap/how-we-assess-acceptance-levels)）。noinfoが付いたCVEは「原因不明」ではなく「NVDが決めきれなかった」と読み、CNAの欄を見に行きます。

### 2026年9月の標本におけるCWEの付与元と欠損率

NISTは[2026年4月15日](https://www.nist.gov/news-events/news/2026/04/nist-updates-nvd-operations-address-record-cve-growth)から、詳細を優先して付ける対象をCISAのKEVカタログ掲載分、連邦政府で使うソフトウェア、大統領令14028の重要ソフトウェアとし、それ以外は「最も低い優先度」として、すぐには分析しない扱いにしました。CVEの登録数が2020年から2025年で263%増えたためです。

変更後の付与状況を標本で確認しました。2026年9月公開分としてNVD APIが返したレコードは15,074件で、公開順の4か所から400件ずつ、計1,600件を取り出して `weaknesses` 欄を集計しています（2026年10月29日取得）。抽出位置はstartIndexが0・4000・8000・12000で、各400件です。標本にはRejectedの15件も含み、無作為抽出ではありません。

| 項目                  | 件数    | 割合    |
| ------------------- | ----- | ----- |
| CWEが1件以上付いている       | 1,074 | 67.1% |
| うちNISTが自分で付けたCWEがある | 30    | 1.9%  |
| CWEが1件も無い           | 526   | 32.9% |

この標本では、CWEが付いた1,074件すべてにCNAまたはADP由来の値が含まれていました。標本全体の32.9%に当たる526件にはCWEがありませんでしたが、これは月全体や2026年全体の割合を示す値ではありません。少なくともこの標本では、NISTが自分で判定したCWEは1.9%にしか付いていません。2026年のCVEでCWEを集計するなら、CNAが付けた値の質を前提に読む必要があります。

## CVEに付いたCWEを自分で調べるコマンド

付け手ごとのCWEは、無料・無認証のAPIで並べて見られます。`curl` と `jq` があれば動きます。

```
#!/bin/sh
# 1件のCVEについて、CNA・ADP・NVDそれぞれが付けたCWEを並べる
CVE="${1:-CVE-2021-44228}"
echo "== CVEレコード（CNA）"
curl -s "https://cveawg.mitre.org/api/cve/$CVE" \
  | jq -r '.containers.cna.problemTypes[]?.descriptions[]? | .cweId // "(なし)"'
echo "== CVEレコード（ADP）"
curl -s "https://cveawg.mitre.org/api/cve/$CVE" \
  | jq -r '.containers.adp[]? | .providerMetadata.shortName as $p
           | .problemTypes[]?.descriptions[]? | "\($p) \(.cweId)"'
echo "== NVD"
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=$CVE" \
  | jq -r '.vulnerabilities[0].cve.weaknesses[]?
           | "\(.source) \(.type) \([.description[].value] | join(","))"'
```

保存済みのLog4Shellの実行結果です。この取得時点ではADPによるCWEの記載がありませんでした。再実行時に出力が空の場合は、取得成功とJSONの内容を確認してから未記載と判断してください。

```
== CVEレコード（CNA）
CWE-502
CWE-400
CWE-20
== CVEレコード（ADP）
== NVD
security@apache.org Secondary CWE-20,CWE-400,CWE-502
nvd@nist.gov Secondary CWE-917
```

複数のCVEを調べるときは、NVDが公表するAPIのレート制限に従って呼び出し間隔を設けます。空の出力だけでは、通信失敗とCWEの未登録を区別できないため、HTTPステータスと応答本文も確認します。CWEの抽象度と、後述するUsageの区分は次で引けます。

```
for id in 20 400 502 917; do
  curl -s "https://cwe-api.mitre.org/api/v1/cwe/weakness/$id" \
    | jq -r '.Weaknesses[0] | "CWE-\(.ID) \(.Abstraction) \(.MappingNotes.Usage)"'
done
```

```
CWE-20 Class Discouraged
CWE-400 Class Discouraged
CWE-502 Base Allowed
CWE-917 Base Allowed
```

## CVEに付いたCWEをそのまま信じない：Usageの区分と再マッピング

各CWEには、実際の脆弱性への対応付けに使ってよいかを示す「Usage」の区分があります。

| 区分                  | 意味                | 例                      |
| ------------------- | ----------------- | ---------------------- |
| ALLOWED             | 対応付けに使ってよい        | CWE-79・CWE-89・CWE-502  |
| ALLOWED-WITH-REVIEW | 限られた状況で慎重な確認のうえ使う | CWE-77・CWE-787・CWE-862 |
| DISCOURAGED         | 対応付けに使うべきでない      | CWE-20・CWE-119・CWE-284 |
| PROHIBITED          | 対応付けに使ってはならない     | CWE-1003（ビュー）など        |

先の標本でCWEが付いていた1,074件のうち、DISCOURAGEDかPROHIBITEDのCWEを1件でも含むものは250件（23.3%）、それしか付いていないものは209件（19.5%）でした（区分はCWEのREST APIで引いた値）。CWE-862と並んで2番目に多く付いていたCWE-284は、最上位のPillarでDISCOURAGEDです。

CWEの運営側も同じ問題を把握しています。[2025年版Top 25の方法論](https://cwe.mitre.org/top25/archive/2025/2025%5Fmethodology.html)によると、対象39,080件のうち9,468件（24%）を「抽象的すぎる・誤用されやすいCWEが付いている」などの理由で再マッピングの対象にしました。元の付け手は281のCNAにまたがります。今回はLLMによる候補提示も初めて使っています。

実務での読み方は単純です。CVEに付いたCWEがClassやDISCOURAGEDなら、そのまま再発防止策の根拠にしないでください。CWE-20（入力検証の不備）と書かれていても、実際の原因はSQLインジェクションやパストラバーサルのような、より具体的なBaseであることが多いからです。公開された技術情報とCWEの説明・Mapping Notesを照合し、より適切なBaseまたはVariantが確認できる場合に対応付けを見直します。情報が足りない場合は無理に細分化せず、確認できた原因に基づいて対策を決めます。

## 2025年版CWE Top 25の順位と読み方

CWE Top 25は、実際のCVEに付いたCWEから「件数が多く、深刻度も高い弱点」を順位付けした年次リストです。[2025年版](https://cwe.mitre.org/top25/archive/2025/2025%5Fcwe%5Ftop25.html)は2025年12月11日に公開され、2024年6月1日から2025年6月1日に公開された39,080件のCVEを分析しています。上位10件です。

| 順位 | CWE     | 弱点             | スコア   | KEV件数 | 前年比 |
| -- | ------- | -------------- | ----- | ----- | --- |
| 1  | CWE-79  | クロスサイトスクリプティング | 60.38 | 7     | ±0  |
| 2  | CWE-89  | SQLインジェクション    | 28.72 | 4     | +1  |
| 3  | CWE-352 | CSRF           | 13.64 | 0     | +1  |
| 4  | CWE-862 | 認可の欠如          | 13.28 | 0     | +5  |
| 5  | CWE-787 | 境界外書き込み        | 12.68 | 12    | \-3 |
| 6  | CWE-22  | パストラバーサル       | 8.99  | 10    | \-1 |
| 7  | CWE-416 | 解放後使用          | 8.47  | 14    | +1  |
| 8  | CWE-125 | 境界外読み取り        | 7.88  | 3     | \-2 |
| 9  | CWE-78  | OSコマンドインジェクション | 7.85  | 20    | \-2 |
| 10 | CWE-94  | コードインジェクション    | 7.57  | 7     | +1  |

スコアは、CWEが付いたCVEの件数と、それらのCVSS 3.x基本値の平均をそれぞれ正規化して掛け合わせ、100倍した値です。件数が効くので、Webアプリで大量に見つかるXSSが1位に居続けます。一方、実際に悪用されたCVE（KEV掲載）の件数は、Top 25の中では9位のCWE-78が20件で最多です。「Top 25の上位＝いま狙われている」ではありません。

2025年版は順位の動きが大きく、CWE-20は12位から18位、CWE-77は13位から23位に下がりました。前年までは各CVEのCWEをCWE-1003の約130件に寄せて数えていましたが、2025年版は、CNAによるレビューとCWEチームによる修正を反映した対応付けを、CWE-1003の上位項目へ集約せずに使っています。CWE-120・121・122（バッファオーバーフロー系）とCWE-284が初めて順位に入ったのもこのためで、前年と単純に比べると変化を読み違えます。

## CVE・CWE・CVSS・KEVの使い分け

脆弱性情報には役割の違う指標が並びます。それぞれが答えている問いで分けると混乱しません。

| 指標    | 答える問い        | 形             |
| ----- | ------------ | ------------- |
| CVE   | どの1件の脆弱性か    | CVE-2024-3400 |
| CPE   | どの製品・版が該当するか | cpe:2.3:a:…   |
| CVSS  | 成立したらどれだけ深刻か | 0.0〜10.0      |
| KEV   | 実際に悪用されたか    | 掲載・非掲載        |
| CWE   | どんな種類の作り込みか  | CWE-79        |
| CAPEC | どんな攻撃手口か     | CAPEC-66      |

個別の修正順序は、CVEで対象を特定し、CVSS・KEVに自社の露出状況や業務影響を合わせて決めます。CWE番号だけで優先度は決まりませんが、弱点別の悪用傾向や再発防止への投資判断には使えます。CVSSの点数の読み方は[CVSSv3とは？v3.1のスコアの目安・計算式と計算機の使い方を解説](/tech/details/5094/)、KEVを使った是正期限の決め方は[BOD 26-04とは？KEVの是正期限を4変数で決める仕組みと自社運用への移し方](/tech/details/18233/)で扱っています。CAPECは攻撃側の分類で、たとえば[CAPEC-66（SQLインジェクション）](https://capec.mitre.org/data/definitions/66.html)は関連する弱点としてCWE-89とCWE-1286を挙げています。

よく見かける説明に「CWEはSCAPの構成要素」というものがありますが、SCAP 1.4（NIST SP 800-126 Rev. 4）が定める構成仕様の一覧にCWEは入っていません。識別子として入っているのはCVE・CPE・CCEです。SCAPの全体像は[SCAPとは？セキュリティ設定共通化手順とSCAP 1.4の変更点【2026年版】](/tech/details/5125/)にまとめています。

### 開発側でCWEを使う場面

CWEが効くのは、作る側の規約とツールです。SASTなどの静的解析ツールは検出結果にCWE-IDを付けるので、社内のコーディング規約の項目にもCWE-IDを振っておくと、指摘と規約を番号で突き合わせられます。規約の作り方は[セキュアコーディングとは？10原則とIPA・JPCERTのガイドライン、脆弱性別のコード対策](/column/details/2373/)、ツールの選び方は[SASTとは？DAST・SCAとの違いとCI/CDへの組み込み・導入判断を実装視点で解説](/tech/details/15880/)が参考になります。

ただし、CWEの全件をそのまま社内規約にすることは勧めません。956件には自社の製品や技術に該当しない弱点も含まれるため、適用対象を絞って具体的な対策に落とし込む必要があります。まず自社の過去の脆弱性報告や診断結果に付いたCWEを数え、上位の数件（WebならCWE-79・89・352・862あたり）に対策を書くところから始めます。CWE-79とCWE-352の違いは[XSSとCSRFの違いとは？仕組み・被害・対策を比較し、塞ぐ順番まで解説](/tech/details/4109/)、CWE-89の具体的な対策コードは[SQLインジェクションとは？攻撃例と対策を実行結果で解説｜テスト方法・試験の正答](/column/details/3030/)で確かめられます。自社のWebアプリにどのCWEが潜んでいるかを外から確かめたい場合は、[脆弱性診断・セキュリティ診断](/service/system/vulnerability/)で洗い出す方法もあります。

### 日本語の情報源でCWEを調べるときの注意

IPAの[共通脆弱性タイプ一覧CWE概説](https://www.ipa.go.jp/security/vuln/scap/cwe.html)は、CWEの構造とJVN iPediaでの使い方を日本語で説明しています。JVN iPediaは2016年12月から、独自の分類に加えて収集元に書かれたCWEも付けています。ただし、JVN iPediaとMyJVNは[2026年10月22日付で一時停止が告知されており、再開時期は未定](https://jvndb.jvn.jp/)です（10月29日時点）。停止中は、JVN本体の脆弱性レポートに併記されたCWE-IDか、英語のCVEレコードを見ます。JVNの運営主体については[JPCERT/CCとは？読み方（ジェーピーサート）・役割・IPAとの違いと報告先](/tech/details/8688/)で説明しています。

## よくある質問

### CVEとCWEの違いを一言で言うと？

CVEは特定製品で見つかった1件の脆弱性の番号、CWEはその脆弱性を生んだ弱点の種類の番号です。CVE-2021-44228（Log4Shell）という1件に、CWE-502やCWE-917といった種類が付く関係です。

### CWEとは何ですか？日本語では何と呼びますか？

Common Weakness Enumerationの略で、IPAは「共通脆弱性タイプ一覧」と訳しています。MITREが運営し、米国CISAがスポンサーです。2026年10月28日公開のCWE 5.0で、弱点（Weakness）は956件あります。

### CVEとCVSSの違いは何ですか？

CVEは脆弱性を識別する番号で、CVSSはその深刻度を0.0〜10.0で表す点数です。1件のCVEに、CNAやNVDなど付け手ごとに別のCVSSが付くこともあります。CWEはどちらとも違い、深刻度を持ちません。

### CVEとは何ですか？

公開された脆弱性に世界共通の番号を付ける仕組みで、`CVE-年-連番`の形をとります。番号はCNAと呼ばれる認定機関が付けます。年の部分は公表年・レコード公開年・予約年のいずれかで、採番した年とは限りません。

### 1つのCVEに複数のCWEが付くのはなぜですか？

原因が連鎖している場合や、付け手ごとに見方が違う場合があるためです。CVE-2024-3400では、CNAがCWE-77（コマンドインジェクション）とCWE-20（入力検証の不備）の2つを付け、NISTはCWE-77だけを付けています。

## 関連記事

- [CVE（共通脆弱性識別子）とは？番号の読み方・CVSS/CWE/NVDとの違いと調べ方](/tech/details/5092/)
- [CVSSv3とは？v3.1のスコアの目安・計算式と計算機の使い方を解説](/tech/details/5094/)
- [SCAPとは？セキュリティ設定共通化手順とSCAP 1.4の変更点【2026年版】](/tech/details/5125/)
- [セキュアコーディングとは？10原則とIPA・JPCERTのガイドライン、脆弱性別のコード対策](/column/details/2373/)
- [BOD 26-04とは？KEVの是正期限を4変数で決める仕組みと自社運用への移し方](/tech/details/18233/)

---

出典: [CVEとCWEの違いとは？CWEの意味と、1件のCVEにCWEが付く仕組みを実例で解説](<https://www.issoh.co.jp/tech/details/5119/>)（株式会社一創）
