Skip to content

fix: Avoid FPs for Symfony Contracts as framework#7546

Merged
jeremylong merged 1 commit intodependency-check:mainfrom
sigv:fp/7545
Mar 24, 2025
Merged

fix: Avoid FPs for Symfony Contracts as framework#7546
jeremylong merged 1 commit intodependency-check:mainfrom
sigv:fp/7545

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 24, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

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