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

Addressing critical vulnerabilities in dependencies #1058

Open
neilmispelaar opened this issue Jul 12, 2024 · 0 comments
Open

Addressing critical vulnerabilities in dependencies #1058

neilmispelaar opened this issue Jul 12, 2024 · 0 comments

Comments

@neilmispelaar
Copy link

Hi there,

This issue is to raise awareness on a couple of critical vulnerabilities being identified by yarn audit in a few outdated dependencies, with the hopes to work together on addressing them.

I've included information below on the dependencies at issue, the versions where they get patched, and if there are any additional notes on the dependencies or vulnerabilities. I'll also setup a PR as well.

Package Installed Version Addressed In Latest Available Release notes Other notes
lerna ^3.22.0 5.5.4 8.1.6 lerna release notes - breaking changes The vulnerability isn't actually with lerna, but with a dependency (parse-url) that lerna used. lerna/lerna#3312
mysql2 ^2.1.0 >=3.9.7 3.10.2 mysql2 release notes sidorares/node-mysql2#2540 This thread shows that the project authors don't see any breaking changes when going from v2 to v3 with the exception of node v16 now being a requirement
pg-hstore ^2.3.3 2.3.4 2.3.4 pg-hstore releases The vulnerability isn't actually with pg-hstore, but with a dependency (underscore) that pg-hstore uses. No major breaking changes between the two versions 2.3.3 -> 2.3.4 so that should be a quick win
jest-image-snapshot ^4.5.1 6.1.1 6.4.0 jest-image-snapshot release notes - breaking changes The vulnerability isn't actually with jest-image-snapshot, but with a dependency (mkdirp) that jest-image-snapshot uses. The dependency was removed in v6.1.1 of jest-image-snapshot. No major breaking changes between the two versions v4 -> v6 with the exception of dropping node support for v10, v12, and v17
patrickhulce/scripts ^0.4.0 n/a 0.4.0 patrickhulce/scripts release notes - breaking changes The vulnerability isn't actually with this package, but with a dependencies that are brought in. I have created an issue and PR to help address.
yarn auditoutput (partial)
yarn audit v1.22.22
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Server-Side Request Forgery in parse-url                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ parse-url                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=6.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/version > @lerna/github-client >              │
│               │ git-url-parse > git-up > parse-url                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1088918                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Server-Side Request Forgery in parse-url                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ parse-url                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=6.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/publish > @lerna/version >                    │
│               │ @lerna/github-client > git-url-parse > git-up > parse-url    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1088918                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Server-Side Request Forgery (SSRF) in GitHub repository      │
│               │ ionicabizau/parse-url                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ parse-url                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=8.1.0                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/version > @lerna/github-client >              │
│               │ git-url-parse > git-up > parse-url                           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1092304                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Server-Side Request Forgery (SSRF) in GitHub repository      │
│               │ ionicabizau/parse-url                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ parse-url                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=8.1.0                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/publish > @lerna/version >                    │
│               │ @lerna/github-client > git-url-parse > git-up > parse-url    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1092304                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ mysql2 Remote Code Execution (RCE) via the readCodeFor       │
│               │ function                                                     
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ mysql2                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=3.9.4                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ mysql2                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ mysql2                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1096970                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ MySQL2 for Node Arbitrary Code Injection                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ mysql2                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=3.9.7                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ mysql2                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ mysql2                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1097180                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/create > globby > fast-glob > micromatch >    │
│               │ snapdragon > base > cache-base > union-value > set-value     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/create > globby > fast-glob > micromatch >    │
│               │ extglob > snapdragon > base > cache-base > union-value >     │
│               │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lerna                                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lerna > @lerna/create > globby > fast-glob > micromatch >    │
│               │ extglob > expand-brackets > snapdragon > base > cache-base > │
│               │ union-value > set-value                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > micromatch > extglob > snapdragon  │
│               │ > base > cache-base > union-value > set-value                │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > micromatch > extglob >             │
│               │ expand-brackets > snapdragon > base > cache-base >           │
│               │ union-value > set-value                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > jest-util > @jest/fake-timers >                 │
│               │ jest-message-util > micromatch > braces > snapdragon > base  │
│               │ > cache-base > union-value > set-value                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > jest-util > @jest/fake-timers >    │
│               │ jest-message-util > micromatch > braces > snapdragon > base  │
│               │ > cache-base > union-value > set-value                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > @jest/reporters >                  │
│               │ @jest/environment > @jest/fake-timers > jest-message-util >  │
│               │ micromatch > braces > snapdragon > base > cache-base >       │
│               │ union-value > set-value                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > @jest/reporters > jest-runtime >   │
│               │ @jest/environment > @jest/fake-timers > jest-message-util >  │
│               │ micromatch > braces > snapdragon > base > cache-base >       │
│               │ union-value > set-value                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > jest-config > @jest/test-sequencer │
│               │ > jest-runner > @jest/environment > @jest/fake-timers >      │
│               │ jest-message-util > micromatch > braces > snapdragon > base  │
│               │ > cache-base > union-value > set-value                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > jest-runtime > jest-config >       │
│               │ @jest/test-sequencer > jest-runner > @jest/environment >     │
│               │ @jest/fake-timers > jest-message-util > micromatch > braces  │
│               │ > snapdragon > base > cache-base > union-value > set-value   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > @jest/reporters > jest-runtime >   │
│               │ jest-config > @jest/test-sequencer > jest-runner >           │
│               │ @jest/environment > @jest/fake-timers > jest-message-util >  │
│               │ micromatch > braces > snapdragon > base > cache-base >       │
│               │ union-value > set-value                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > jest-config > @jest/test-sequencer │
│               │ > jest-runner > @jest/environment > @jest/transform >        │
│               │ jest-haste-map > jest-util > @jest/fake-timers >             │
│               │ jest-message-util > micromatch > braces > snapdragon > base  │
│               │ > cache-base > union-value > set-value                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > jest-runtime > jest-config >       │
│               │ @jest/test-sequencer > jest-runner > @jest/environment >     │
│               │ @jest/transform > jest-haste-map > jest-util >               │
│               │ @jest/fake-timers > jest-message-util > micromatch > braces  │
│               │ > snapdragon > base > cache-base > union-value > set-value   │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ critical      │ Prototype Pollution in set-value                             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ set-value                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in>=2.0.1                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ @patrickhulce/scripts                                        │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ @patrickhulce/scripts > git-url-parse > parse-domain > jest  │
│               │ > jest-cli > @jest/core > @jest/reporters > jest-runtime >   │
│               │ jest-config > @jest/test-sequencer > jest-runner >           │
│               │ @jest/environment > @jest/transform > jest-haste-map >       │
│               │ jest-util > @jest/fake-timers > jest-message-util >          │
│               │ micromatch > braces > snapdragon > base > cache-base >       │
│               │ union-value > set-value                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://www.npmjs.com/advisories/1095129                     │
└───────────────┴──────────────────────────────────────────────────────────────┘

... 

688 vulnerabilities found - Packages audited: 4454
Severity: 23 Low | 139 Moderate | 462 High | 64 Critical
Done in 7.40s.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant