CVE-2022-21190
convict: A Prototype Pollution Vulnerbility in convict
Einstufung nach Quelle
Trivys eigenes Label ist CRITICAL. Kritisch laut NVD, GHSA. Niedriger laut Red Hat (mittel).
Beschreibung
This affects the package convict before 6.2.3. This is a bypass of [CVE-2022-22143](https://security.snyk.io/vuln/SNYK-JS-CONVICT-2340604). The [fix](https://github.com/mozilla/node-convict/commit/3b86be087d8f14681a9c889d45da7fe3ad9cd880) introduced, relies on the startsWith method and does not prevent the vulnerability: before splitting the path, it checks if it starts with __proto__ or this.constructor.prototype. To bypass this check it's possible to prepend the dangerous paths with any string value followed by a dot, like for example foo.__proto__ or foo.this.constructor.prototype.
Betroffene Pakete und behobene Versionen
| Quelle | Paket | Behoben in |
|---|---|---|
| npm::GitHub Security Advisory npm | convict | 6.2.3 |
Referenzen
- https://access.redhat.com/security/cve/CVE-2022-21190
- https://gist.github.com/dellalibera/cebce20e51410acebff1f46afdc89808
- https://github.com/mozilla/node-convict
- https://github.com/mozilla/node-convict/blob/3b86be087d8f14681a9c889d45da7fe3ad9cd880/packages/convict/src/main.js%23L571
- https://github.com/mozilla/node-convict/blob/master/CHANGELOG.md%23623---2022-05-07
- https://github.com/mozilla/node-convict/commit/1ea0ab19c5208f66509e1c43b0d0f21c1fd29b75
- https://nvd.nist.gov/vuln/detail/CVE-2022-21190
- https://snyk.io/vuln/SNYK-JS-CONVICT-2774757