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

fix: Avoid FPs for Symfony Contracts as framework #7546

Merged
merged 1 commit into from
Mar 24, 2025

Conversation

sigv
Copy link
Contributor

@sigv sigv commented Mar 24, 2025

Description of Change

Symfony Contracts are being matched as Symphony framework. However, they are different projects with independent versioning schemes. For example, CVE-2022-23601 for Symfony is resolved in versions 5.3.15, 5.4.4 and 6.0.4. However, Contracts project's latest version is v3.5.2.

Related issues

Have test cases been added to cover the new functionality?

no

Symfony Contracts are being matched as Symphony framework. However,
they are different projects with independent versioning schemes.
For example, CVE-2022-23601 for Symfony is resolved in versions
5.3.15, 5.4.4 and 6.0.4. However, Contracts project's latest version
is v3.5.2.
@boring-cyborg boring-cyborg bot added the core changes to core label Mar 24, 2025
@chadlwilson
Copy link
Collaborator

Pro tip in case you’re not aware: if you branch from and PR to the file within the generatedSuppressions branch the suppression can be made available independent of an ODC release.

@jeremylong jeremylong merged commit d4f560b into dependency-check:main Mar 24, 2025
8 checks passed
@sigv sigv deleted the fp/7545 branch March 24, 2025 13:28
@sigv
Copy link
Contributor Author

sigv commented Mar 24, 2025

Pro tip in case you’re not aware: if you branch from and PR to the file within the generatedSuppressions branch the suppression can be made available independent of an ODC release.

Thank you, will keep that in mind!

@sigv
Copy link
Contributor Author

sigv commented Mar 24, 2025

@chadlwilson, does generatedSuppressions get pulled into main prior to release, to keep the bundled file up-to-date, or what is the standard flow for it?

I see gh-pages branch's suppressions/publishedSuppressions.xml gets updated from generatedSuppressions branch... but there seems to be divergence between what is in main and what is in generatedSuppressions 🤔

@chadlwilson
Copy link
Collaborator

Not via automation. It augments what’s in main for anyway that has not disabled use of hosted suppressions.

They are essentially two different data sources.

Hosted suppressions are auto-released any time a suppression is merged from the automated FP issue workflows (for which there is not one for php, but is for maven, gradle, dotnet, etc).

@chadlwilson
Copy link
Collaborator

The problem is that the hosted suppression changes can be used by all versions, yet changes to bundled only by those on latest release. People keep reporting FPs until they update to a given version which is a pain to keep track of as a project collaborator or even as user who is trying to minimize their own suppressions (which in many ends can require time limits and discussions with internal bureaucracy).

In my personal view there should be no bundled suppressions and everything should be done in the hosted suppressions, but that’s not a discussion I’ve seen had anywhere (or one I’ve brought up).

The two data sources right now create a risk of conflicting rules and too many combinations to think about when you contemplate all the various historical bundled suppressions that exist. Makes it difficult to investigate false negatives, inefficient suppressions etc.

@sigv
Copy link
Contributor Author

sigv commented Mar 24, 2025

This feels worth discussing as a future improvement, and I can understand the idea of shifting towards "hosted suppressions only". So I'm opening #7547 to make sure this is logged as a potential enhancement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core changes to core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FP]: Symfony Contracts are matched as Symfony framework
3 participants