google / lovefield

Lovefield is a relational database for web apps. Written in JavaScript, works cross-browser. Provides SQL-like APIs that are fast, safe, and easy to use.
https://google.github.io/lovefield/
Apache License 2.0
6.81k stars 366 forks source link

Please consider releasing a new version to npm that requires js-yaml >= 3.13.1 #254

Open yushih opened 5 years ago

yushih commented 5 years ago

Currently the newest version in npm is 2.1.12, which depends on "js-yaml": "~3.1.0",, but this version of js-yaml has multiple vulnerabilities. npm audit outputs:

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Denial of Service                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ js-yaml                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=3.13.0                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lovefield                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lovefield > js-yaml                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/788                             │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Code Injection                                               │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ js-yaml                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=3.13.1                                                     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lovefield                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lovefield > js-yaml                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/813                             │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ underscore.string                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=3.3.5                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ lovefield                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ lovefield > js-yaml > argparse > underscore.string           │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://npmjs.com/advisories/745                             │
└───────────────┴──────────────────────────────────────────────────────────────┘
freshp86 commented 5 years ago

Updating to a newer version SGTM. Having said that, js-yaml is only needed if you are using SPAC https://github.com/google/lovefield/blob/master/docs/spec/07_spac.md, and otherwise not necessary if you are dynamically creating the schema with JS (which is the majority use case AFAIK).

yushih commented 5 years ago

Thanks for the info! It's good to know that there's no exploitablity. Nevertheless it's always nice to keep npm audit clean.