fix: ignore casing fix in the policy lib #6166
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request Submission Checklist
are release-note ready, emphasizing
what was changed, not how.
What does this PR do?
We're fixing an issue where where:
You have ignores with different casing e.g. NPM:HAWK:20160119 vs npm:hawk:20160119
The first ignore is expired
The other ignores that are active do not have the same casing
Then no ignores are applied to the vuln
What was happening in the logic is that we were setting the value of the vulnId to the value of whatever matches first when checking the ignore keys. That vulnId is then used to check the ignores, so if you have other ignores that do not have the same casing exactly they are never checked.
This PR introduces logic to have a variable for all matching vuln IDs with all types of casing to then check the ignores against, so every ignore stored against the vuln ID no matter what the casing is will be checked.
What's the product update that needs to be communicated to CLI users?
We're fixing an issue where where:
You have ignores with different casing e.g. NPM:HAWK:20160119 vs npm:hawk:20160119
The first ignore is expired
The other ignores that are active do not have the same casing
Then no ignores are applied to the vuln
What was happening in the logic is that we were setting the value of the vulnId to the value of whatever matches first when checking the ignore keys. That vulnId is then used to check the ignores, so if you have other ignores that do not have the same casing exactly they are never checked.
This PR introduces logic to have a variable for all matching vuln IDs with all types of casing to then check the ignores against, so every ignore stored against the vuln ID no matter what the casing is will be checked.
Risk assessment (Low | Medium | High)?
Low
What are the relevant tickets?
https://snyksec.atlassian.net/browse/IGNR-1530