CVE-2022-21190: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
(updated )
This affects the package convict before 6.2.3. This is a bypass of CVE-2022-22143 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.
References
- gist.github.com/dellalibera/cebce20e51410acebff1f46afdc89808
- github.com/advisories/GHSA-jjf5-wx3j-3fv7
- github.com/mozilla/node-convict/blob/3b86be087d8f14681a9c889d45da7fe3ad9cd880/packages/convict/src/main.js%23L571
- github.com/mozilla/node-convict/blob/master/CHANGELOG.md%23623---2022-05-07
- github.com/mozilla/node-convict/commit/1ea0ab19c5208f66509e1c43b0d0f21c1fd29b75
- nvd.nist.gov/vuln/detail/CVE-2022-21190
- snyk.io/vuln/SNYK-JS-CONVICT-2774757
Code Behaviors & Features
Detect and mitigate CVE-2022-21190 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →