Skip to content

Commit 8989c0c

Browse files
feat: Add support for Package URLs.
Signed-off-by: Andrew Lilley Brinker <[email protected]>
1 parent f5dae04 commit 8989c0c

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

schema/CVE_Record_Format.json

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -539,17 +539,54 @@
539539
"items": {
540540
"$ref": "#/definitions/cpe_match"
541541
}
542+
},
543+
"purlMatch": {
544+
"type": "array",
545+
"items": {
546+
"$ref": "#/definitions/purl_match"
547+
}
542548
}
543549
},
544550
"allOf": [
545551
{ "required": ["operator"] },
546552
{
547553
"anyOf": [
548-
{ "required": ["cpeMatch"] }
554+
{ "required": ["cpeMatch"] },
555+
{ "required": ["purlMatch"] }
549556
]
550557
}
551558
]
552559
},
560+
"purl_match": {
561+
"description": "purl match string or range",
562+
"type": "object",
563+
"properties": {
564+
"vulnerable": {
565+
"type": "boolean"
566+
},
567+
"criteria": {
568+
"description": "Placeholder until we find a formal purl schema",
569+
"$ref": "#/definitions/uriType"
570+
},
571+
"matchCriteriaId": {
572+
"$ref": "#/definitions/uuidType"
573+
},
574+
"versionStartExcluding": {
575+
"$ref": "#/definitions/version"
576+
},
577+
"versionStartIncluding": {
578+
"$ref": "#/definitions/version"
579+
},
580+
"versionEndExcluding": {
581+
"$ref": "#/definitions/version"
582+
},
583+
"versionEndIncluding": {
584+
"$ref": "#/definitions/version"
585+
}
586+
},
587+
"required": ["vulnerable", "criteria"],
588+
"additionalProperties": false
589+
},
553590
"cpeApplicabilityElement": {
554591
"description": "Affected products defined using an implementation of the CPE Applicability Language, mostly copied/forked from the NIST NVD CVE API v2.0 schema (optional). An operator property allows AND or OR logic between CPEs or combinations of CPEs. The negate and vulnerable Boolean properties allow CPEs to be inverted and/or defined as vulnerable or not. Multiple version fields are provided for capturing ranges of products when defining a CPE Match String Range. NOTE: When defining a cpeApplicability block, it is recommended that it align with (as much as possible) the product data provided within the affected block.",
555592
"properties": {

0 commit comments

Comments
 (0)