セキュリティニュースを見ていると「CVSS 9.8」や「CVSS 3.5」といった数値を目にすることがあります。これはCVSSと呼ばれる、脆弱性の深刻度を「0.0〜10.0」で評価する国際標準のスコアです。
この記事では『CVSS』について、以下の内容をわかりやすく解説します。
- CVSSとは?
- CVSSのバージョン
- CVSSを算出する評価基準
- CVSSスコアの分類
- CVSSを実際に算出してみる
CVSSとは?
CVSS(Common Vulnerability Scoring System)は、ソフトウェアやシステムの脆弱性の深刻度を「0.0〜10.0」の数値で評価する仕組みです。
この仕組みは、国際的なセキュリティ団体FIRST(Forum of Incident Response and Security Teams)によって策定され、世界中で共通の基準として使われています。
CVSSを用いれば、ベンダーや国ごとにバラバラな評価を避け、同じ指標で「どれから優先して修正すべきか(対策の優先順位)」を判断することができるのです。
なぜCVSSが必要なのか?
脆弱性は毎日のように見つかります。しかし、発見されたすべてをすぐに直すのは現実的に不可能です。ここで役立つのがCVSSです。
- 例1: CVSS 9.8(Critical) → すぐに対応しないと危険
- 例2: CVSS 3.5(Low) → 時間があるときに対応でもよい
CVSSを使うと、世界中の研究者や企業が同じ基準でスコアを付けられるため、対応の優先度を迷わず決められるのです。
CVSSのバージョン
CVSSには以下のバージョンがあります。
- v1(2005年)
- v2(2007年)
- v3(2015年)
- v3.1(2019年)
- v4(2023年)
2025年時点ではv3.1がよく使われていますが、これからはv4への移行が進んでいきます。
CVSSを算出する評価基準
CVSSはいくつかの評価基準を組み合わせて算出します。これにより「脆弱性そのものの危険度」「現状の攻撃状況」「自分の環境にとっての重要度」など、複数の観点から柔軟にスコアをつけることができます。
CVSS v3.1の評価基準
v3.1では「基本評価基準(Base Score)」と「現状評価基準(Temporal Score)」と「環境評価基準(Environmental Score)」の3つの評価基準を組み合わせてCVSSを算出することができます。「基本評価基準(Base Score)」だけで算出するケースが多いですが、必要に応じて他の評価基準も組み合わせてCVSSを算出します。
- 基本評価基準(Base Score)
- 脆弱性そのものの深刻度を表す。
- 主に以下の要素から計算します
- 攻撃元区分: Attack Vector (AV)
- 攻撃条件の複雑さ: Attack Complexity (AC)
- 攻撃に必要な特権レベル: Privileges Required (PR)
- 利用者の関与: User Interaction (UI)
- 影響の想定範囲: Scope (S)
- 機密性への影響: Confidentiality (C)
- 完全性への影響: Integrity (I)
- 可用性への影響: Availability (A)
- 現状評価基準(Temporal Score)
- 「いま現在」どれくらい危険かを反映させたスコアです。
- 環境評価基準(Environmental Score)
- 各組織におけるシステムやネットワークの重要度を反映させたスコアです。
CVSS v4の評価基準
v4.0では仕組みが整理され、「CVSS-B」と「CVSS-BE」と「CVSS-BT」と「CVSS-BTE」の4種類でCVSSのスコアを算出することができます。「CVSS-B」で算出することが多いです。
- CVSS-B
- 「基本評価基準(Base Metrics)」のみを利用して算出
- 最もシンプルでよく使われる方法。
- CVSS v3.1の「Base Score」と同じ立ち位置。
- CVSS-BE
- 「基本評価基準(Base Metrics)」および「環境評価基準(Environmental Metrics)」を利用して算出
- 脆弱性の基本的な深刻度に加えて、自分の環境(システムの重要度)を反映。
- CVSS-BT
- 「基本評価基準(Base Metrics)」および「脅威評価基準(Threat Metrics)」を利用した算出
- 基本的な深刻度に加えて「脅威状況(Threat)」を加味。
- 「脅威評価基準(Threat Metrics)」はCVSS v3.1の「現状評価基準(Temporal Score)」に近いが、より詳細な脅威状況を考慮する形に進化。
- CVSS-BTE
- 「基本評価基準(Base Metrics)」、「脅威評価基準(Threat Metrics)」および「環境評価基準(Environmental Metrics)」を利用して算出
- 基本の危険度、現状の脅威状況、環境の重要度をすべて加味した「完全版」。
補足
v4.0からは「補助評価基準(Supplemental Metrics)」も新設されました。これは、補助的に脆弱性の特性を追記するための基準で、CVSSの算出には使用されません。
CVSSスコアの分類
CVSSスコアは以下のように区分されます。
CVSSスコア | 深刻度(Severity) |
---|---|
0.0 | None(影響なし) |
0.1–3.9 | Low(低) |
4.0–6.9 | Medium(中) |
7.0–8.9 | High(高) |
9.0–10.0 | Critical(緊急) |
例
- CVE-2017-0144(EternalBlue)はCVSS 8.8(High)
- CVE-2021-34527(PrintNightmare)はCVSS 8.8(High)
CVSSを実際に算出してみる
CVSSは手動でも計算できますが、以下の公式サイトで公開されているCVSS計算ツールを使うのが一般的です。対象の脆弱性に関する情報(攻撃経路、必要な権限、影響範囲など)を入力すると、0.0〜10.0のスコアと深刻度(Low/Medium/High/Critical)が自動表示されます。
- FIRST公式 CVSS Calculator
- NVDのCVSS v3 計算機(英語)
- JVN iPediaのCVSS計算機(日本語)
例えば、CVE-2017-0144 のCVSS v3.1の「基本評価基準(Base Score)」は 8.8(High)です。ベクター値はCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
となっている(参考リンク)ので、以下のようになります。
CVE-2017-0144のCVSS v3.1の基本評価基準

- 攻撃元区分: Attack Vector (AV) → Network(ネットワーク経由で攻撃可能)
- 攻撃条件の複雑さ: Attack Complexity (AC) → Low(攻撃は容易)
- 攻撃に必要な特権レベル: Privileges Required (PR) → Low(権限は低レベルでOK)
- 利用者の関与: User Interaction (UI) → None(ユーザーの操作不要)
- 影響の想定範囲: Scope (S) → Unchanged(影響範囲の拡張なし)
- 機密性への影響: Confidentiality (C) → High(深刻な影響)
- 完全性への影響: Integrity (I) → High(深刻な影響)
- 可用性への影響: Availability (A) → High(深刻な影響)
本記事のまとめ
この記事では『CVSS』について、以下の内容を説明しました。
- CVSSとは?
- CVSSのバージョン
- CVSSを算出する評価基準
- CVSSスコアの分類
- CVSSを実際に算出してみる
CVSSは、脆弱性の深刻度を「0.0〜10.0」のスコアで客観的に評価できる国際標準の仕組みです。セキュリティ担当者にとっては「どの脆弱性から優先して対応すべきか」を判断するための非常に重要な指標となります。
お読み頂きありがとうございました。