CPE
Common Platform Enumeration (CPE) är ett standardiserat namnschema för IT-produkter, till exempel cpe:2.3:a:tukaani:xz:5.6.0, som NVD använder för att ange vilka produkter en CVE berör.
Senast uppdaterad: 11 november 2026
Common Platform Enumeration (CPE) är ett strukturerat namnschema för IT-produkter inom cybersäkerhet: applikationer, operativsystem och hårdvara. Version 2.3 är specificerad av NIST i NISTIR 7695 (augusti 2011). National Vulnerability Database (NVD) använder CPE-namn för att ange vilka produkter en CVE berör, och förvaltar den officiella CPE-ordlistan.
Formatet CPE 2.3
Ett CPE 2.3-namn har 11 attribut efter prefixet cpe:2.3: part, vendor, product, version, update, edition, language, sw_edition, target_sw, target_hw och other. Delen (part) är a för en applikation, o för ett operativsystem och h för hårdvara. En * betyder valfritt värde och ett - betyder ej tillämpligt.
cpe:2.3:a:microsoft:internet_explorer:8.0.6001:beta:*:*:*:*:*:*
cpe:2.3:a:lodash:lodash:4.17.20:*:*:*:*:node.js:*:*
cpe:2.3:h:raspberrypi:raspberry_pi_4_model_b:-:*:*:*:*:*:*:*
Den första är exemplet från specifikationen. Den andra är npm-biblioteket lodash, med node.js som målprogramvara. Den tredje är en hårdvaruprodukt. Alla tre finns i NVD:s ordlista.
Hur CPE-matchning fungerar, och var den går fel
En NVD-post listar de CPE:er som en CVE gäller, ofta med versionsintervall. En skanner gör om varje komponent i en SBOM till en CPE-gissning och jämför. Tre saker går fel:
- Tvetydiga namn. Leverantör och produkt i ordlistan är inte alltid vad paketet heter i sitt ekosystem. Biblioteket xz är
cpe:2.3:a:tukaani:xz, medan Debian levererar det som paketetxz-utils. En gissning byggd på paketnamnet träffar fel produkt eller ingen alls. - För breda intervall. En tillämplighetsangivelse kan täcka versioner eller plattformar som inte berörs, till exempel varje version av en produkt när bara en byggkonfiguration var berörd. Varje komponent som matchar blir ett fynd att triagera.
- Saknade data. NIST skriver att "NVD från början av 2024 byggde upp en betydande eftersläpning av CVE:er som inte berikats". Sedan den 15 april 2026 berikar NVD CVE:er efter prioritet (först poster i CISA:s KEV, programvara som används av USA:s federala myndigheter och kritisk programvara enligt EO 14028) och märker resten "Lowest Priority - not scheduled for immediate enrichment" (NIST). CVE Numbering Authorities kan ange berörda produkter, inklusive CPE:er, i CVE-posten, och NVD har sedan juni 2026 tagit in sådana data från CNA:er och ADP:er i sina poster, men täckningen varierar mellan CNA:er. Yocto Projects release notes för 5.2 säger rakt ut vad det innebär: med CPE-baserade kontroller "rapporteras vissa sårbarheter helt enkelt inte".
Att matcha fel produkt är en källa till falska positiva; se minska sårbarhetsbruset.
CPE och Package URL
| Package URL | CPE | |
|---|---|---|
| Vem bestämmer namnet | Paketets ekosystem | NVD:s CPE-ordlista |
| Identifierar | Ett paket i ett register eller en distribution | En produkt, även hårdvara och operativsystem |
| Format | pkg:type/namespace/name@version | cpe:2.3:part:vendor:product:version:... |
| Standard | ECMA-427 | NISTIR 7695 (CPE 2.3) |
| Används av | OSV, GitHubs säkerhetsmeddelanden, SBOM-verktyg | NVD, många skannrar |
| Typiskt fel | Saknas för vendorad eller handlistad kod | Tvetydiga leverantörs- och produktnamn; inga CPE-data för många nya CVE:er |
Använd en package URL överallt där det finns ett paketekosystem, en CPE för kommersiella produkter, firmware och hårdvara, och båda där ett krav begär båda. CISA:s 2026 Minimum Elements nämner CPE och Package-URL som vanliga identifierare, och BSI TR-03183-2 kräver sådana identifierare för varje komponent där de finns.
CPE:er i SBOM:er
CycloneDX har ett fält cpe på varje komponent, och SPDX anger CPE:er som externa identifierare. Om du är leverantör: ange den CPE som NVD faktiskt använder för din produkt (slå upp den i ordlistan) i stället för att hitta på en. En påhittad CPE matchar ingenting. Identifierare är en del av en SBOM:s fältkvalitet; om något saknas i listan är en separat fråga, SBOM-fullständighet.
CRACI identifierar varje paket som ett bygge drar in med dess package URL. Se SBOM:er från bygget.