Nist Nvd

VulnCheck Community CPEスキーマ

長年にわたる既存のスキーマを使用し、VulnCheckによる追加フィールドでNVD 1.0およびNVD 2.0と統合

VulnCheckが提供するNIST NVD 1.0およびNIST NVD 2.0は、NISTが開発したJSONスキーマに従っています:

  1. NVD 1.0スキーマ
  2. NVD 2.0スキーマ

これらのスキーマに対する唯一の例外は、VulnCheckがCPEの拡充データを追加している点です。NISTが使用するフィールドに同様のCPEデータを追加すると混乱を招く可能性があるため、代わりに以下のフィールドを追加しました。

  1. vcConfigurations: NVDの configurations フィールドと同じ構造で、VulnCheckによってデータが入力されています。
  2. vcVulnerableCPEs: NVDはCPEの「展開」を支援するために matchCriteriaId を使用しています。VulnCheckはこの追加のステップを削除し、展開されたCPEを vcVulnerableCPEs フィールドに含めました。

なお、vcConfigurationsmatchCriteriaId は常に空欄になります。これは、vcVulnerableCPEs を使用しているためです。ただし、NISTスキーマで必須フィールドのため、削除せずに残しています。

NIST NVD 2.0のVulnCheckによって追加されたCPEの例

以下の vcConfigurations および vcVulnerableCPEs の例は、nist-nvd2?cve=CVE-2024-28746から取得したものです。cpeMatch は影響を受けるバージョンを説明し、vcVulnerableCPEs はそれらをリストアップしています。

  "vcConfigurations": [
    {
      "nodes": [
        {
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
              "versionStartIncluding": "2.8.0",
              "versionEndExcluding": "2.8.3",
              "matchCriteriaId": ""
            }
          ]
        }
      ]
    }
  ],
  "vcVulnerableCPEs": [
    "cpe:2.3:a:apache:airflow:2.8.0:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.1:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.2:*:*:*:*:*:*:*"
  ]

VulnCheckによって追加されたCPEのNIST NVD 1.0の例

以下は、nist-nvd?cve=CVE-2024-28746における vcConfigurationsvcVulnerableCPEs の例です:

  "vcConfigurations": {
    "CVE_data_version": "4.0",
    "nodes": [
      {
        "cpe_match": [
          {
            "vulnerable": true,
            "cpe23Uri": "cpe:2.3:a:apache:airflow:*:*:*:*:*:*:*:*",
            "versionStartIncluding": "2.8.0",
            "versionEndExcluding": "2.8.3"
          }
        ]
      }
    ]
  },
  "vcVulnerableCPEs": [
    "cpe:2.3:a:apache:airflow:2.8.0:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.1:*:*:*:*:*:*:*",
    "cpe:2.3:a:apache:airflow:2.8.2:*:*:*:*:*:*:*"
  ]