DependencyTrack / DependencyTrack/vuln-db
Enrichment: Fixed versions, safe versions
- Dominant language
- Java
- Stars
- 12
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### Current Behavior
Fixed versions can be inferred on a per-vulnerability basis, given the vulnerable version ranges:
* If the range has a `< X.Y.Z` constraint, `X.Y.Z` is a fixed version
* If the range has a `<= X.Y.Z` constraint, any of `(X+1).0.0`, `X.(Y+1).0`, `X.Y.(Z+1)` could be fixed versions
* *(Heavily simplified, it's almost never as trivial as to increment a version part)*
* *(Existence of those versions would need to be verified)*
* If the range only has `> X.Y.Z` and `>= X.Y.Z` constraints, there is no fix.
Additionally, some sources may explicitly report fixed versions.
This is nice for individual vulnerabilities, but it doesn't necessarily make the developers' jobs easier:
Bumping versions to fix one vulnerability might open the door to new vulnerabilities.
The real question is: What version can you *safely* update to, that is affected by **no** known vulnerability?
### Proposed Behavior
As an enrichment step, analyze version ranges across all vulnerabilities affecting a component.
Try to work out which version is not, or is very unlikely to be, vulnerable.
Could leverage [deps.dev](https://deps.dev/) here to verify the existence of component versions if necessary.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.