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

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.

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

Successfully merging this pull request may close these issues.

None yet

3 participants