logo

CVE-2022-21190 convict

Package

Manager: npm
Name: convict
Vulnerable Version: >=0 <6.2.3

Severity

Level: Critical

CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

EPSS: 0.00633 pctl0.69467

Details

Prototype Pollution in convict 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.

Metadata

Created: 2022-05-14T00:01:09Z
Modified: 2022-05-25T22:54:49Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/05/GHSA-jjf5-wx3j-3fv7/GHSA-jjf5-wx3j-3fv7.json
CWE IDs: ["CWE-1321"]
Alternative ID: GHSA-jjf5-wx3j-3fv7
Finding: F390
Auto approve: 1