≪ Today I learned.
RSS購読
    公開日
    タグ
    Knowledge
    著者
    ダーシノ

    脆弱性レポートの読み方

    昨今、npmパッケージの深刻な脆弱性報告が増えてきた。

    「危険だからアップデートしなきゃ」と思うだけでしっかりレポートを読めていなかった。これを機にちゃんと読めるようになろうと思って調べたことをまとめていく。

    GitHubで公開されているレポートの中でも、直近で一番インパクトが大きかったaxiosのレポート:GHSA-fvcv-3m26-pcqxを参考に読み解いていく。

    脆弱性の識別子と管理団体

    識別子にはいくつか種類がある。

    CVE

    共通脆弱性識別子(Common Vulnerabilities and Exposures)は、公開された脆弱性に対して識別子を付与して共通で参照して利用できる。

    アメリカ政府の支援を受けた非営利団体MITRE Corporationが管理、運営している。CVE-2026-xxxxxのように採番され、同じ脆弱性をどのツールでも使用できる。

    GHSA

    GitHub Security Advisoryが独自に提供する脆弱性情報のIDで、主にGitHubで公開されているパッケージの脆弱性を含むバージョンとパッチバージョン、攻撃方法などがまとめられている。

    GHSA-xxxx-xxxx-xxxxのように採番され、CVEと関連づけて管理されることが多い。axiosの件では、GHSA-fvcv-3m26-pcqxCVE-2026-40175が紐づけられている。

    CWE

    共通脆弱性タイプ一覧(Common Weakness Enumeration)は、前者の2つとは性質が異なり、脆弱性の種類を識別するための共通基準。 CVE同様にMITRE Corporationが中心となり仕様を策定した。

    たとえばCWE-79であればクロスサイトスクリプティング、CWE-89であればSQLインジェクションといった具合に管理されている。

    脆弱性の深刻度(CVSS)

    共通脆弱性評価システム(Common Vulnerability Scoring System)は、脆弱性の深刻度を0.0〜10.0の範囲で示す共通指標。 スコアは攻撃のしやすさや影響範囲など複数の観点を組み合わせて算出される。

    深刻度の目安

    評価基準

    axiosの脆弱性レポートでは、CVSS v3 base metricsとして以下のようにスコアが算出されている。

    axiosの脆弱性ではCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:Hのように報告されているため、分解すると以下のような判定になる。

    ※執筆時点での最新基準はCVSSv4.0

    参考サイト

    公式サイト

    解説記事

    脆弱性報告書