Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Picky change to example justification in the spec #13

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

garethr
Copy link

@garethr garethr commented Feb 4, 2023

I feel like the statement

The vulnerable code was removed with a custom patch

fits vulnerable_code_not_present:

The vulnerable component is included in artifact, but the vulnerable code is not present. Typically, this case occurs when source code is configured or built in a way that excluded the vulnerable code.

better than component_not_present:

The product is not affected by the vulnerability because the component is not included. The status justification may be used to preemptively inform product users who are seeking to understand a vulnerability that is widespread, receiving a lot of attention, or is in similar products.

The statement specifically states "vulnerable code was removed" via a patch. Rather than the whole component being removed.

I feel like the statement

> The vulnerable code was removed with a custom patch

fits `vulnerable_code_not_present`:

> The vulnerable component is included in artifact, but the vulnerable code is not present. Typically, this case occurs when source code is configured or built in a way that excluded the vulnerable code.

better than `component_not_present`:

> The product is not affected by the vulnerability because the component is not included. The status justification may be used to preemptively inform product users who are seeking to understand a vulnerability that is widespread, receiving a lot of attention, or is in similar products.

The statement specifically states "vulnerable *code* was removed" via a patch. Rather than the whole component being removed.

Signed-off-by: Gareth Rushgrove <gareth@morethanseven.net>
@luhring
Copy link
Contributor

luhring commented Feb 5, 2023

I think it's not picky! It's important for us to be clear on how to use these values if we expect them to be used correctly.

I agree the current version is a bit confusing. I almost think the "was removed" verbiage is at odds with the not_affected status itself, regardless of justification.

If the code was vulnerable, and then was patched, that means the status should be fixed:

fixed — These product versions contain a fix for the vulnerability.

I believe the intent behind the not_affected status is that the artifact wasn't exploitable in the first place, despite what a vulnerability scan may have indicated:

not_affected — No remediation is required regarding this vulnerability. A not_affected status required the addition of a justification to the statement.

My current thinking is that more clarity in the spec is needed to disambiguate not_affected and fixed more broadly.

But for this PR... in addition to your justification change, maybe we could also tweak the impact statement too? E.g.

- The vulnerable code was removed with a custom patch
+ The vulnerable code is not included when this component is packaged

WDYT?

@tschmidtb51
Copy link

If the code was vulnerable, and then was patched, that means the status should be fixed:
[...]
I believe the intent behind the not_affected status is that the artifact wasn't exploitable in the first place, despite what a vulnerability scan may have indicated:

100% true.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants