Poiché non hai fornito alcuni esempi, ad esempio: dove hai ricevuto informazioni sul fatto che un CVE non fornisce CPE - né sulla base di qualche piattaforma o file forniti da un determinato fornitore. Presumo che tu stia utilizzando i feed di dati National Vulnerability Database (NVD), sia in formato XML 2.0 o JSON fornito da NIST a https://nvd.nist.gov/vuln/data-feeds
, perché le informazioni raccolte dai file NIST (NVDCVE) sono le stesse in CVEDetails.com
.
Affermerai che ci sono oltre mille voci senza CPE:
$ ls -lh
total 96136
-rw-r--r-- 1 test test 44M Aug 18 03:25 nvdcve-2.0-2016.xml
-rw-r--r-- 1 test test 2.6M Aug 20 06:57 nvdcve-2.0-2016.xml.zip
$ grep -c "\*\* REJECT \*\*" nvdcve-2.0-2016.xml
1106
Se ti stai chiedendo, perché ho usato la parola chiave " REJECT ": questo è l'unico modo in cui esiste un CVE e non è possibile trovare un CPE. Ad esempio:
$ grep -A5 "<entry id=\"CVE-2016-0001\">" nvdcve-2.0-2016.xml
<entry id="CVE-2016-0001">
<vuln:cve-id>CVE-2016-0001</vuln:cve-id>
<vuln:published-datetime>2017-05-11T10:29:55.767-04:00</vuln:published-datetime>
<vuln:last-modified-datetime>2017-05-11T10:29:55.767-04:00</vuln:last-modified-datetime>
<vuln:summary>** REJECT ** DO NOT USE THIS CANDIDATE NUMBER. ConsultIDs: none. Reason: The CNA or individual who requested this candidate did not associate it with any vulnerability during 2016. Notes: none.</vuln:summary>
</entry>
Il motivo per cui ciò accade, ho spiegato in questa domanda: Categorizzazione CVE nome del prodotto