
共通脆弱性評価システムCVSS v3概説 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
情報処理推進機構(IPA)の「共通脆弱性評価システムCVSS v3概説」に関する情報です。
スマホやパソコンにときどき届くセキュリティ更新が直しているものの1つが、ソフトに見つかった脆弱性です。
2026年10月には、ウェブサイトを動かす言語PHPの脆弱性が公表され、国内のレンタルサーバーなどが対応に追われました。
PHPの開発チームは、その深刻度を9.2としました。
この9.2は、被害の大きさを10点満点で測った数字なのでしょうか。
多くのサイトがひと晩で緊急対応?PHPの重大な脆弱性はどこにあったのか
10月21日の夜から22日の朝にかけて、国内のレンタルサーバーやウェブサービスが慌ただしく動きました。サービスを一時止めたり、急いで直したりしたのです。原因は、ウェブサイトを動かす言語PHPに見つかった、深刻度の高い脆弱 […]
脆弱性はセキュリティ上の問題箇所のこと

PHPの件で何度も聞いたけど、脆弱性って結局なんなの?

IPA(情報処理推進機構)は、脆弱性を製品などの「セキュリティ上の問題箇所」と説明してるんだ。
そこをねらわれると、プログラムが本来の働きをできなくなるおそれがある弱点だよ。

たとえるなら、家の窓の鍵がこわれてるようなもの。
こわれた鍵だけでは何も起きないけど、だれかに見つかれば入られるおそれがあるんだ。

それなら、見つけた人が自分で直しておけばいいのね。

そこが家の鍵と違うところでね。プログラムの弱点は、世界中で同じ製品を使う大勢に関わるんだ。
だから届け出の仕組みでは、見つかった脆弱性はまず作り手に知らされて、作り手が直した版を用意するんだよ。

スマホに来るセキュリティ更新って、そういうことだったのね。

そう。使う側がその版へ更新すると、穴がふさがるって流れだね。
CVSSは脆弱性の深刻度を同じ物差しで比べる点数

穴がいくつも見つかったら、どれから直すか迷いそう。

脆弱性は次々に見つかるから、どれが重いかを比べる物差しが要るんだ。
そこで使われるのが、アメリカの非営利団体FIRSTが管理するCVSSだよ。

IPAによると、作った会社が違っても深刻度を同じ基準で比べられるのが特長なんだ。
学校ごとに採点が違うと点は比べられないけど、全国の模試なら比べられるよね。それと同じ考え方だよ。

点数は何点満点なの?

0から10までで、模試と違って、点が大きいほど悪い知らせなんだ。
FIRSTはこれを5つの区分に分けてて、9.0以上が最も重いところだよ。

PHPの9.2は、そのいちばん重いところに入るのね。

IPAの解説では、そこを「緊急」と呼んでるんだ。
9.2は、2023年に出たCVSSの第4版で付けた数値だよ。
5つに分ける点の境目は、IPAが解説してる第3版と同じなんだ。

CVSSの点数は攻撃のしやすさと影響の大きさで決まる

9.2って聞くと、てっきり被害の大きさを10点満点で測った点だと思っちゃうわ。

そう単純じゃないんだ。CVSSは、いきなり1つの数を付けるわけじゃない。
まず脆弱性をいくつもの観点に分けて、1つずつ見ていくんだよ。

見るところは大きく2つ。1つ目は攻撃のしやすさで、どこから攻め込めるか、ログインや他人の操作が要るかなどを調べる。
2つ目は成功したときの影響で、情報が漏れるか、書き換えられるか、止まるかを調べるんだ。

2つを合わせて1つの数にしてるなら、数だけ見ても中身は分からないのね。

テストの合計点みたいなものだね。合計が同じでも、どの科目で点を取ったかは人によって違う。
9.2の中身を知るには、科目にあたる項目を1つずつ見る必要があるんだ。
PHPの脆弱性の9.2を記号の列から読む

その科目にあたる項目って、どこを見れば分かるの?

PHPの脆弱性には、9.2と一緒に「AV:N/AC:H/AT:P…」っていう記号の列が付いてたんだ。
見るところごとの判定を短く書いたもので、コロンの左が何を見るか、右がその判定だよ。

主な記号を、ふつうの言葉に直すとこうなるんだ。
| 記号 | 何を見るか | PHPの値 |
|---|---|---|
| AV | どこから攻め込めるか | N:ネットワーク越しにできる |
| AC | 守りの仕組みをかいくぐる必要があるか | H:かいくぐる必要がある |
| AT | プログラムの置かれ方や動き方の条件が要るか | P:条件がそろう必要がある |
| PR | ログインなどの権限が要るか | N:要らない |
| UI | 攻撃する人以外の操作が要るか | N:要らない |
| VC、VI、VA | 情報が漏れるか、書き換えられるか、止まるか | H:3つとも高い |

ネットワーク越しで、ログインも要らないなんて、ずいぶん入りやすそう。

そうだね。攻撃する人以外のだれも何もしなくても成り立つし、影響の3つもすべて高い判定だった。
でも、悪用を難しくする事情も評価に表れてるんだよ。

1つは、攻撃を防ぐためにもともと組み込まれた守りの仕組みを、かいくぐらないと成功しないこと。
もう1つは、プログラムの置かれ方や動き方の条件がそろわないと成功しないこと。
FIRSTの説明では、何度も試してやっと成功する場合も、2つ目にあたるんだ。

こわれた鍵の窓で言えば、窓は道路に面してて、合鍵もいらないし、住人がうっかり開けてくれる必要もない。
ただ窓の前には、もともと防犯の柵がある。その柵をくぐり抜けたうえに、家の事情やタイミングがうまく重なったときしか入れない、って感じかな。

反対に、使う人が何かしないと成り立たない脆弱性もあるの?

あるよ。たとえばIPAは、リンクのクリックやファイルを開くことを例に挙げてる。
その場合は、だれかにリンクを押させるところまでが悪用の一部なんだ。
詐欺メッセージは部品を買って組み立てる:Microsoftが警察庁と追った闇市場
スマホに「お荷物をお届けできませんでした」というメッセージが届くことがあります。本物の通知に見えても、詐欺のことがあります。リンクを押させて、個人情報を入力させたり、お金を払わせたりするのがねらいです。名目は荷物のほかに […]
基本の深刻度には被害の数や実際の攻撃は入っていない

ここまでの項目で決まるのが、CVSSの基本の点数なんだ。
見ているのはどれも脆弱性そのものの性質で、FIRSTは、時間がたっても使う場所が変わっても同じ値だとしてるよ。
NVD(アメリカの脆弱性データベース)などが出すのも、ふつうはこっちなんだ。

同じ値ってことは、使ってる人の数が増えても点は変わらないの?

変わらないよ。9.2の中には、そのプログラムを使うサイトの数は入ってないんだ。
FIRSTは、影響を受ける客の数やお金の損失を、CVSSの外のこととしてるんだよ。

車の衝突試験の評価が、その車が何台売れたかで変わらないのと同じだね。
だからPHPを使うサイトがどれだけ多いかは、9.2とは別に考える必要があるんだ。

実際にねらわれてるかどうかは、さすがに入ってるわよね。

それも基本の点数には含めないんだ。
ねらわれてるかは「分からない」扱いになって、最も重い場合を仮に置いて計算するんだよ。

使う人があとから攻撃の様子や自分の使い方を足すと、基本の点数とは別に、絞り込んだ値を出せるんだ。

まとめ
- 脆弱性は、製品などにあるセキュリティ上の問題箇所
- CVSSは、脆弱性の深刻度を0から10の同じ物差しで比べる点数で、9.0以上が最も重い区分
- 点数は、攻撃のしやすさと、成功したときの影響を項目ごとに見て決まる
- PHPの9.2は、ネットワーク越しにログインも操作もなしで悪用でき、影響も大きいが、悪用を難しくする条件も付いた評価
- 使っているサイトの数や被害の金額、実際にねらわれているかは基本の点数に入らない
9.2は、被害の大きさを測った数ではありませんでした。どこから、だれの手も借りずに攻め込めるかと、漏れる、書き換わる、止まるの影響を合わせた評価です。
だから同じ9.2でも、悪用の条件が違えば中身も変わってきます。その中身を運んでいるのが、数字の後ろに付いた記号の列なのです。
この記事の脆弱性の説明は、IPAの「脆弱性関連情報の届出受付」とJPCERT/CCの「脆弱性対策情報」によります。
CVSSの項目と区分の出典は、FIRSTのCVSS第4版の仕様書とIPAの解説です。PHPの評価(CVSS第4版で9.2)は、PHPの発表と、NVDに載ったPHP側の記録によります。





