VulnCheck generates fast and accurate Common Platform Enumeration (CPE) that maps technology systems, software, and packages to CVEs. We have automated the generation of CPE and have made it available in vulncheck-nvd1, vulncheck-nvd2, nist-nvd1 and nist-nvd2 indexes.
Adding our CPE data to the same field that NIST populates would only cause confusion, so we've instead added the following fields:
vcConfigurations: Exactly the same as the NVD configurations field, but populated by VulnCheck.vcVulnerableCPEs: NVD uses matchCriteriaId to facilitate CPE "unrolling". VulnCheck has decided to remove this additional step, and include the unrolled CPE in the vcVulnerableCPEs field.Note that, vcConfigurations matchCriteriaId will always be empty because we are using vcVulnerableCPEs instead. However, it's a required field in the NIST schema so we elected to leave it.
VulnCheck generates CPE when the information is available providing you with faster and more accurate CPE. In order to ensure the most complete coverage consider using NIST NVD's CPE which is the configurations attribute when VulnCheck CPE vcConfigurations is unavailable.
VulnCheck's cpe API endpoint provides the ability to lookup a list of vulnerabilities based on the specified CPE (Common Platform Enumeration) URI string. We support v2.2 and v2.3
Query CVE's based on CPE: https://api.vulncheck.com/v3/cpe?cpe=cpe:/o:paloaltonetworks:pan-os:10.2.0:2h:*:*:*:*:*
For more details on using the CPE API Endpoint, see CPE API Endpoint](/api/cpe)
The complete VulnCheck CPE to CVE mapping is available using our cpecve backup endpoint: https://api.vulncheck.com/v3/backup/cpecve
VulnCheck's CLI cpe lookup provides a list of vulnerabilities based on the specified CPE (Common Platform Enumeration) URI String. We support v2.2 and v2.3
Example CLI Command
vulncheck cpe "cpe:2.3:o:fortinet:fortios:*:*:*:*:*:*:*:*"
Learn more about using VulnCheck CLI here.
vulncheck-nvd2The following example of vcConfigurations and vcVulnerableCPEs is from vulncheck-nvd2?cve=CVE-2024-28746. Note that the cpeMatch describes the affected versions, and vcVulnerableCPEs lists them.
"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-nvdThe following example of vcConfigurations and vcVulnerableCPEs is from vulncheck-nvd?cve=CVE-2024-28746:
"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:*:*:*:*:*:*:*"
]