BMuuN / vsts-assemblyinfo-task

Assembly Info is an extension for Azure DevOps that populates assembly information metadata from a build pipeline.
https://marketplace.visualstudio.com/items?itemName=bleddynrichards.Assembly-Info-Task
MIT License
44 stars 25 forks source link

Define dependencies in a way allowing minor or patch updates to mitigate known vulnerabilities #358

Open piotrg123 opened 1 year ago

piotrg123 commented 1 year ago

Our Software Composition Analysis tools has reported outdated libraries used in this extension, including critical vulnerabilities such as: CVE-2021-44906 in minimist.

The vulnerability was partially addressed in minimist 1.2.5 and based on our analysis there is no easy way to exploit it in this extension. The problem is that each such reported vulnerability requires considerable manual effort in order to determine that the extension is safe to use.

Currently in package.json all dependencies are referenced with a specific version, not allowing any major, minor or patch updates. I propose to update package.json so that the most recent compatible version of the dependency is used rather than a specific version. See also: https://docs.npmjs.com/about-semantic-versioning

I noticed that there are many pull requests open, created automatically by dependabot which are related to updating dependencies. I'm not sure how using this approach compares to adjusting package.json to allow dependency updates using semantic versioning. Can you explain why these pull requests are still open and whether there is a plan to publish a new version with updated dependencies?

Update of dependencies is needed as it will reduce effort needed to investigate vulnerabilities reported by automated scanning tools.


According to our Software Composition Analysis tool, to mitigate the high vulnerabilities the following packages should be updated:

Package/library Current version Target version
word-wrap 1.2.3 1.2.4
tough-cookie 4.0.0 4.1.3
semver 7.3.5 7.5.2
semver 5.7.1 5.7.2
moment 2.29.1 2.29.4
minimist 1.2.5 1.2.6
minimatch 3.0.4 3.0.5
ansi-regex 5.0.0 5.0.1
qs 6.10.1 6.10.3
debug 4.3.3 No version available