-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support CVSS 4.0 in CSAF 2.x #652
Comments
I recently received an identical question from a member of our community. From a technical standpoint, it's entirely feasible to integrate the CVSS v4.0 standard into our current system. You can easily add the property CVSS v4 (cvss_v4) with a corresponding value that adheres to the CVSS v4.0 schema, as outlined at FIRST's CVSS v4.0 JSON schema. Here's how you can reference it in your JSON file: "cvss_v4": {
"$ref": "https://www.first.org/cvss/cvss-v4.0.json"
}, However, there's a caveat. Implementing this would lead to a failure in the mandatory tests as described in CSAF documentation. This raises a critical point: The landscape of cybersecurity standards like CVSS is continuously evolving. Rigidity in CSAF's requirements could make it less adaptive and potentially obsolete as these standards undergo updates or revisions. To future-proof CSAF and encourage broader community adoption, it may be prudent to adopt a more flexible approach that can easily accommodate changes in CVSS and other related or supported standards. This way, we can ensure that CSAF remains up-to-date in the rapidly evolving field of cybersecurity. |
A future-proof standard is one that is actively maintained - and we are doing this with CSAF. The most important point to me is, that people can develop their tools to a fixed version of the standard and know what they can expect. Custom extensions and adding special fields makes it harder to validate files (you can't tell anymore whether it is a misspelling or a custom extension) and to write tools that process files as you have to implement all different extensions. Therefore, I'm much more in favor of writing a new version of the standard to avoid the complications... |
There are pros and cons for each approach. Someone can provide the list of pros and then the list of cons. I'm busy in this week and next week. Will provide the draft about pros and cons soon, if no one else works on it. I support Tomas for writing a new version of CSAF (based on the pros and cons in my mind now). |
First, CVSSv3.0 was released in June 2015, CVSSv3.1 in June 2019. The frequency for CVSS new versions isn't a concern, assuming CSAF also has new versons. Second, there are pros and cons for a future proof standard. The pros include the stabilities of schema, parsers, and test scripts. The cons include the actual work for parsing and testing the new versions from others like CVSS has to be pushed down to the customers. As Thomas pointed out, this can easily create widespread problems among the unsophisticated customers. So writing a new version of CSAF is a more efficient way to validate the inclusion and notify all the customers of the incoming changes needed. |
In my perception, CVSS 4.0 is set for CSAF 2.1 - but let's double check with the TC... |
Here is a list of things to do:
For the schema:
Add CVSSv4 to Informative References
Add CVSSv4 to Construction Principles
Add CVSSv4 to Vulnerabilities Property - Scores
Add CVSSv4 to 6.1.8
Add CVSSv4 to 6.1.9
Add CVSSv4 to 6.1.10
Update test 6.3.1
Add new test 6.3.X6.3.X Missing CVSSv4 => TBDFor each item in the list of scores which does not contains the The relevant paths for this test are:
Example 1 (which fails the test):
CVRF-CSAF conversion rule
Add CVSSv4 to C.3
Add CVSSv4 to C.5TBD |
- addresses parts of oasis-tcs#652 - add CVSS v4 to JSON schema
- addresses parts of oasis-tcs#652 - add CVSS v4.0 to referenced schemas - add strict version of schema
- addresses parts of oasis-tcs#652 - adopt test scripts to include CVSS 4.0
- addresses parts of oasis-tcs#652 - add CVSS 4.0 to informative references - add CVSS 4.0 to construction principles
- addresses parts of oasis-tcs#652 - add CVSS 4.0 to `/vulnerabilities[]/scores[]`
- addresses parts of oasis-tcs#652, oasis-tcs#341 - add invalid example for 6.1.7 - add valid examples for 6.1.7
- addresses parts of oasis-tcs#652, oasis-tcs#341 - add missing CVSS 4.0 reference in validator test script
|
- addresses parts of oasis-tcs#652 - update the strict version to use `unevaluatedProperties` instead of `additionalProperties` which fails with `allOf`
- addresses parts of oasis-tcs#652 - use different vector to avoid `multiple` issue
- addresses parts of oasis-tcs#652 - address `multipleOf` issue by parsing floats as Decimal - add valid example to show correctness
- addresses parts of oasis-tcs#652 - add CVSS 4.0 to Appendix C regarding size
- addresses parts of oasis-tcs#652 - add CVRF-CSAF-conversion rule
- addresses parts of oasis-tcs#652, oasis-tcs#341 - add invalid example for 6.1.8 - add valid examples for 6.1.8 - update test 6.1.8
- addresses parts of oasis-tcs#652, oasis-tcs#341 - add invalid example for 6.1.8 - add valid examples for 6.1.8 - update test 6.1.8
- addresses parts of oasis-tcs#652, oasis-tcs#341 - add invalid example for 6.1.9 - add valid examples for 6.1.9 - update test description 6.1.9
- addresses parts of oasis-tcs#652, oasis-tcs#341 - add invalid examples for 6.1.10 - add valid examples for 6.1.10 - update test description 6.1.10
- addresses parts of oasis-tcs#652 - correct wrong `/document/tracking/id`
- addresses parts of oasis-tcs#652 - update CVSS schema as FIRST corrected wrong keywords
- addresses parts of oasis-tcs#652 - adopt test files in 6.2.19 to reflect changes in FIRST CVSS schema
Todo:
|
CVSSv4.0 doesn't define threatScore and environmentalScore. This issue had been discussed in CVSS SIG, and there is no conclusion yet. One workaround discussed in CVSS SIG is to list CVSS-B, CVSS-BT, CVSS-BE, CVSS-BTE in v4.0 calculator before the scores. CVSS-BT is similar to threatScore, and CVSS-BE is similar to environmentalScore. Another possibility is CSAF 2.1 should make it clear that CVSSv4.0 doesn't define threatScore and environmentalScore, and the test cases are about CVSS-B, CVSS-BT, CVSS-BE, and CVSS-BTE |
CVSS 3.1: https://www.first.org/cvss/cvss-v3.1.json
CVSS 4.0:
3.2.3.14 "exploit_status" in CSAF: " this section can be a mirror image of "Exploitability" metric in CVSS v2.x, "exploitCodeMaturityType" in CVSS v3.x, and "exploitMaturityType" in CVSS v4.0. |
Add CVSSv4 to 6.1.9 |
The tyop of "_v3" should be replaced by "_v4" |
"6.3.2 Use of CVSS v3.0" -> "6.3.x Use of CVSS v3.1" |
There might be an inconsistency here. I just had a look at the schema and it says:
If it's defined in the schema, there should be a way to compute them...
I'm not sure whether I fully got that - maybe, we should have a call to discuss the topic. |
threatScore and environmentalScore are not defined in CVSSv4.0 spec. CVSSv4.0 schema inherits them from CVSSv3.1 schema, but they are not defined in v4.0. CVSSv4.0 SIG realizes this issue, but this issue is still under discussion and there is no conclusion yet. |
and
I don't understand these comments. Could you please make them through a review in the current editor revision at: https://github.com/oasis-tcs/csaf/pull/699/files so that I know the right place? Thanks! |
From a CVSS user perspective, I would love to have them. As they are currently defined in the schema, we need to keep them. Please keep us posted about the updates so that we can update CSAF accordingly |
I don't agree here. Yes, we want people to use the latest version - therefore, test 6.3.12 was added. |
- addresses parts of oasis-tcs#652 - explicitly mention names of Exploitability throughout the different CVSS versions
- addresses parts of oasis-tcs#652, oasis-tcs#699 - correct location of section separator
The latest plan in First CVSS SIG is to keep the current v4.0 schema and make some changes in v4.1. There is no timeline for v4.1 yet. |
Hello, is there any update timelines for CVSS 4 support? It's been out for over a year. We're looking to publish advisories in CSAF but this is a blocking limitation. |
It has already been integrated into the draft for CSAF 2.1. Unfortunately, there was some unclarity around the computations of scores which is going to be worked on.
|
|
CVSS 4.0 official publication is scheduled for Q4, 2023. CSAF 2.x schema needs to add the new
"cvss_v4": {
"$ref": "https://www.first.org/cvss/cvss-v4.0.json"
},
The text was updated successfully, but these errors were encountered: