web-dev-qa-db-ja.com

CVE情報を取得するAPI

私は、CVE IDを返すAPIを使用するプロジェクトに取り組んでいます。これらのCVEの詳細をプログラムでフェッチする必要があります。私たちが必要とする主なものは、CVSS v2基本ベクトルです(例:AV:A/AC:H/Au:M/C:C/I:C/A:P)。脆弱性の簡単な説明または要約もよいでしょう。

したがって、たとえば、CVE-2017-1000369の場合、 CVSSスコアとNISTがCVE-2017-1000369に提供する要約 を取得する必要があります。

パラメータとしてCVE IDを取り、CVSS基本ベクトルを返す優れたAPIはありますか?私は試しました これ ですが、信頼性が低いことがわかりました(NISTがベースベクトルを提供している場合でも、ベースベクトルが含まれていないことがあり、レイテンシが非常に高く、時には完全にクラップアウトします) 。

1

Red Hatが管理するCVE APIを使用できます。 CVEまたはその他のパラメーターを指定して脆弱性を検索するための多くのオプションがあり、日付の範囲(beforeおよびafterフィルター)を持つコンポーネントで検索を実行することもできます。

興味のあるクエリの例は、次のようになります。

https://access.redhat.com/labs/securitydataapi/cve/CVE-2017-1000369.json

出力は次のようなものになります(質問で提供したCVEを使用)。

{
  "threat_severity": "Low",
  "public_date": "2017-06-19T00:00:00",
  "bugzilla": {
    "description": "\nCVE-2017-1000369 Exim: Privilege escalation via multiple memory leaks\n    ",
    "id": "1457748",
    "url": "https://bugzilla.redhat.com/show_bug.cgi?id=1457748"
  },
  "cvss3": {
    "cvss3_base_score": "2.9",
    "cvss3_scoring_vector": "CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N",
    "status": "draft"
  },
  "details": [
    "\nExim supports the use of multiple \"-p\" command line arguments which are malloc()'ed and never free()'ed, used in conjunction with other issues allows attackers to cause arbitrary code execution. This affects exim version 4.89 and earlier. Please note that at this time upstream has released a patch (commit 65e061b76867a9ea7aeeb535341b790b90ae6c21), but it is not known if a new point release is available that addresses this issue at this time.\n    "
  ],
  "statement": "\nExim itself is not vulnerable to privilege escalation, but this particular flaw in exim can be used by the stackguard vulnerability (https://access.redhat.com/security/vulnerabilities/stackguard) to achieve privilege escalation.\n    ",
  "package_state": {
    "product_name": "Red Hat Enterprise Linux 5",
    "fix_state": "Will not fix",
    "package_name": "exim",
    "cpe": "cpe:/o:redhat:enterprise_linux:5"
  },
  "name": "CVE-2017-1000369"
}

APIの完全なドキュメントは here にあります。

警告:データはRed Hat製品のコンポーネントに限定される可能性がありますが、私の使用経験から、提供された情報にはあまり問題がありませんでしたAPI。このAPIはCVSS3のみを使用します。これは問題になる可能性があります。

2番目のオプション(CVSS2サポートあり)はNVD/CVE as JSON files Githubでホストされているプロジェクト。投稿したものと同じCVEのリクエストの例は次のようになります。

https://olbat.github.io/nvdcve/CVE-2017-1000369.json

出力は次のようになります。

{
  "cve": {
    "data_type": "CVE",
    "data_format": "MITRE",
    "data_version": "4.0",
    "CVE_data_meta": {
      "ID": "CVE-2017-1000369",
      "ASSIGNER": "[email protected]"
    },
    "affects": {
      "vendor": {
        "vendor_data": [
          {
            "vendor_name": "exim",
            "product": {
              "product_data": [
                {
                  "product_name": "exim",
                  "version": {
                    "version_data": [
                      {
                        "version_value": "4.89",
                        "version_affected": "<="
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    },
    "problemtype": {
      "problemtype_data": [
        {
          "description": [
            {
              "lang": "en",
              "value": "CWE-264"
            }
          ]
        }
      ]
    },
    "references": {
      "reference_data": [
        {
          "url": "http://www.debian.org/security/2017/dsa-3888",
          "name": "DSA-3888",
          "refsource": "DEBIAN",
          "tags": [

          ]
        },
        {
          "url": "http://www.securityfocus.com/bid/99252",
          "name": "99252",
          "refsource": "BID",
          "tags": [
            "Third Party Advisory",
            "VDB Entry"
          ]
        },
        {
          "url": "http://www.securitytracker.com/id/1038779",
          "name": "1038779",
          "refsource": "SECTRACK",
          "tags": [

          ]
        },
        {
          "url": "https://access.redhat.com/security/cve/CVE-2017-1000369",
          "name": "https://access.redhat.com/security/cve/CVE-2017-1000369",
          "refsource": "CONFIRM",
          "tags": [
            "Vendor Advisory"
          ]
        },
        {
          "url": "https://github.com/Exim/exim/commit/65e061b76867a9ea7aeeb535341b790b90ae6c21",
          "name": "https://github.com/Exim/exim/commit/65e061b76867a9ea7aeeb535341b790b90ae6c21",
          "refsource": "MISC",
          "tags": [
            "Mitigation",
            "Third Party Advisory"
          ]
        },
        {
          "url": "https://security.gentoo.org/glsa/201709-19",
          "name": "GLSA-201709-19",
          "refsource": "GENTOO",
          "tags": [

          ]
        },
        {
          "url": "https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt",
          "name": "https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt",
          "refsource": "MISC",
          "tags": [
            "Third Party Advisory"
          ]
        }
      ]
    },
    "description": {
      "description_data": [
        {
          "lang": "en",
          "value": "Exim supports the use of multiple \"-p\" command line arguments which are malloc()'ed and never free()'ed, used in conjunction with other issues allows attackers to cause arbitrary code execution. This affects exim version 4.89 and earlier. Please note that at this time upstream has released a patch (commit 65e061b76867a9ea7aeeb535341b790b90ae6c21), but it is not known if a new point release is available that addresses this issue at this time."
        }
      ]
    }
  },
  "configurations": {
    "CVE_data_version": "4.0",
    "nodes": [
      {
        "operator": "OR",
        "cpe_match": [
          {
            "vulnerable": true,
            "cpe23Uri": "cpe:2.3:a:exim:exim:*:*:*:*:*:*:*:*",
            "versionEndIncluding": "4.89"
          }
        ]
      }
    ]
  },
  "impact": {
    "baseMetricV3": {
      "cvssV3": {
        "version": "3.0",
        "vectorString": "CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
        "attackVector": "LOCAL",
        "attackComplexity": "LOW",
        "privilegesRequired": "NONE",
        "userInteraction": "NONE",
        "scope": "UNCHANGED",
        "confidentialityImpact": "NONE",
        "integrityImpact": "LOW",
        "availabilityImpact": "NONE",
        "baseScore": 4.0,
        "baseSeverity": "MEDIUM"
      },
      "exploitabilityScore": 2.5,
      "impactScore": 1.4
    },
    "baseMetricV2": {
      "cvssV2": {
        "version": "2.0",
        "vectorString": "AV:L/AC:L/Au:N/C:N/I:P/A:N",
        "accessVector": "LOCAL",
        "accessComplexity": "LOW",
        "authentication": "NONE",
        "confidentialityImpact": "NONE",
        "integrityImpact": "PARTIAL",
        "availabilityImpact": "NONE",
        "baseScore": 2.1
      },
      "severity": "LOW",
      "exploitabilityScore": 3.9,
      "impactScore": 2.9,
      "obtainAllPrivilege": false,
      "obtainUserPrivilege": false,
      "obtainOtherPrivilege": false,
      "userInteractionRequired": false
    }
  },
  "publishedDate": "2017-06-19T16:29Z",
  "lastModifiedDate": "2017-11-04T01:29Z"
}

ご覧のとおり、これはプロジェクト(CVSS V2を含む)に役立つ可能性のある多くの情報を提供します。両方のプロジェクトは引き続きアクティブで更新されています。

3
galoget