Skip to content
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

JSON5.0 - CVSS hard coded version numbers #162

Closed
MrSeccubus opened this issue Apr 6, 2022 · 7 comments
Closed

JSON5.0 - CVSS hard coded version numbers #162

MrSeccubus opened this issue Apr 6, 2022 · 7 comments
Assignees

Comments

@MrSeccubus
Copy link

See: Vulnogram/Vulnogram#64

CVSS record forat is:

        {
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ],
          "cvssV3_1": {
            "version": "3.1",
            "attackVector": "NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "LOW",
            "userInteraction": "NONE",
            "scope": "CHANGED",
            "confidentialityImpact": "LOW",
            "integrityImpact": "HIGH",
            "availabilityImpact": "NONE",
            "baseScore": 8.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N"
          }
        },

This means that when the CVSS version changes to e.g. v3.2 the tag changes as well, meaning I have to update the code that renders CVEs records on https://csirt.divd.nl.

Having a version number as part of a tag is generally considered bad practice.

@MrSeccubus
Copy link
Author

Proposal is to make this an array with multiple versions and format's allowed. E.g.:

       {
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ],
          "score": [
          {
            "version": "3.1",
            "attackVector": "NETWORK",
            "attackComplexity": "LOW",
            "privilegesRequired": "LOW",
            "userInteraction": "NONE",
            "scope": "CHANGED",
            "confidentialityImpact": "LOW",
            "integrityImpact": "HIGH",
            "availabilityImpact": "NONE",
            "baseScore": 8.5,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N"
          }
          ]
        },

@MrSeccubus MrSeccubus changed the title CVSS hard coded version numbers JSON5.0 - CVSS hard coded version numbers Apr 6, 2022
@david-waltermire david-waltermire self-assigned this Apr 14, 2022
@sei-vsarvepalli
Copy link
Contributor

Other scores such as SSVC #144 can also become part of a scores array when the CVE schema v6.0 or next major update is being considered.

Vijay

@david-waltermire
Copy link
Collaborator

Changing the cvssV* properties would be a backwards compatibility breaking change. As a result, we will need to wait until v6.0 to make this change.

@MrSeccubus
Copy link
Author

Does that imply that if a new version of CVSS is released it cannot be adopted unless a new version of CVE records is released too?

@chandanbn
Copy link
Collaborator

No. Adding a new optional field is not a breaking change. It will not break any of the existing tools to produce/consume records. It will be done in a schema minor release 5.x.

@chandanbn
Copy link
Collaborator

Removing a field on the other hand means existing tools will produce a JSON that no longer validates, which means CNAs will have to change their tooling.

@ccoffin
Copy link
Collaborator

ccoffin commented Nov 7, 2024

While this request is perfectly valid and probably the better approach, changing this would break all previous content. We will not implement this currently. We may want to reconsider this and other CVSS changes in a major/model update.

@ccoffin ccoffin closed this as completed Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants