Skip to content

Commit f081c6d

Browse files
committed
Add OSSF OSV and CVE v5 references
These recent and closely related specs (they share authors) provide another approach to documeting vulnerable ranges. Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
1 parent a6afc04 commit f081c6d

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

VERSION-RANGE-SPEC.rst

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,27 @@ in use:
109109
version. And also provides a concrete enumeration of the available ranges as
110110
a daily feed.
111111

112-
Note that there is a closely related problem as the way two versions are compared
113-
as equal, lesser or greater is often complex:
114-
115-
- Each package ecosystem may have evolved its own peculiar version comparison
116-
procedure.
112+
- The version 5 of the NVD CVE JSON data format at
113+
https://github.com/CVEProject/cve-schema/blob/master/schema/v5.0/CVE_JSON_5.0.schema#L303
114+
defines version ranges with a starting version, a versionType, and an upper
115+
limit for the version range as lessThan or lessThanOrEqual. Or an enumeration
116+
of versions. The versionType is defined as ``"The version numbering system
117+
used for specifying the range. This defines the exact semantics of the
118+
comparison (less-than) operation on versions, which is required to understand
119+
the range itself"``.
120+
121+
- The OSSF OSV schema https://ossf.github.io/osv-schema/ defines vulnerable
122+
ranges with version events using "introduced" and "limit" fields and an
123+
enumeration of all the versions in these ranges, except for semver-based
124+
versions. A range may be ecosystem-specific based on a provided package
125+
"ecosystem" value that ressembles closely the Package URL package "type".
126+
127+
128+
The way two versions are compared as equal, lesser or greater is a closely
129+
related topic:
130+
131+
- Each package ecosystem may have evolved its own peculiar version string
132+
conventions, semantics and comparison procedure.
117133

118134
- For instance, semver is a prominent specification in this domain but this is
119135
just one of the many ways to structure a version string.

0 commit comments

Comments
 (0)