CVE-2022-22143
published 2022-05-01CVE-2022-22143: The package convict before 6.2.2 are vulnerable to Prototype Pollution via the convict function due to missing validation of parentKey. **Note:** This…
PriorityP351critical9.8CVSS 3.1
AVNACLPRNUINSUCHIHAH
EPSS
2.03%
78.8th percentile
The package convict before 6.2.2 are vulnerable to Prototype Pollution via the convict function due to missing validation of parentKey. **Note:** This vulnerability derives from an incomplete fix of another [vulnerability](https://security.snyk.io/vuln/SNYK-JS-CONVICT-1062508)
Affected
5 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| mozilla | convict | < 6.2.2 | 6.2.2 |
| mozilla | convict | < 6.2.3 | 6.2.3 |
| mozilla | convict | >= 0 < 6.2.3 | 6.2.3 |
| mozilla | convict | >= unspecified < 6.2.2 | 6.2.2 |
| mozilla | convict | >= unspecified < 6.2.3 | 6.2.3 |
CVSS provenance
nvdv3.19.8CRITICALCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvdv2.07.5HIGHAV:N/AC:L/Au:N/C:P/I:P/A:P
ghsa9.8CRITICAL
osv9.8CRITICAL
vendor_redhat7.5HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
Prototype Pollution in convict
osv·2022-05-14·CVSS 9.8
CVE-2022-21190 [CRITICAL] Prototype Pollution in convict
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.
GHSA
Prototype Pollution in convict
ghsa·2022-05-14·CVSS 9.8
CVE-2022-21190 [CRITICAL] CWE-1321 Prototype Pollution in convict
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.
GHSA
Prototype Pollution in convict
ghsa·2022-04-20
CVE-2022-22143 [HIGH] CWE-1321 Prototype Pollution in convict
Prototype Pollution in convict
### Impact
* An attacker can inject attributes that are used in other components
* An attacker can override existing attributes with ones that have incompatible type, which may lead to a crash.
The main use case of Convict is for handling server-side configurations written by the admins owning the servers, and not random users. So it's unlikely that an admin would deliberately sabotage their own server. Still a situation can happen where an admin not knowledgeable about JavaScript could be tricked by an attacker into writing the malicious JavaScript code into some config files.
### Patches
The problem is patched in `[email protected]`. Users should upgrade to `[email protected]`.
### Workarounds
No way for users to fix or remediate the vulnerability without up
OSV
Prototype Pollution in convict
osv·2022-04-20
CVE-2022-22143 [HIGH] Prototype Pollution in convict
Prototype Pollution in convict
### Impact
* An attacker can inject attributes that are used in other components
* An attacker can override existing attributes with ones that have incompatible type, which may lead to a crash.
The main use case of Convict is for handling server-side configurations written by the admins owning the servers, and not random users. So it's unlikely that an admin would deliberately sabotage their own server. Still a situation can happen where an admin not knowledgeable about JavaScript could be tricked by an attacker into writing the malicious JavaScript code into some config files.
### Patches
The problem is patched in `[email protected]`. Users should upgrade to `[email protected]`.
### Workarounds
No way for users to fix or remediate the vulnerability without up
Red Hat
convict: A Prototype Pollution Vulnerbility in convict
vendor_redhat·2022-05-13·CVSS 7.5
CVE-2022-21190 [HIGH] CWE-1321 convict: A Prototype Pollution Vulnerbility in convict
convict: A Prototype Pollution Vulnerbility 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.
Package: advanced-cluster-security/rhacs-docs-rhel8 (Red Hat Advanced Cluster Security 3) - Not affected
Package: advanced-cluster-security/rhacs-main
Red Hat
convict: Prototype Pollution in convict
vendor_redhat·2022-05-01·CVSS 7.5
CVE-2022-22143 [HIGH] CWE-1321 convict: Prototype Pollution in convict
convict: Prototype Pollution in convict
The package convict before 6.2.2 are vulnerable to Prototype Pollution via the convict function due to missing validation of parentKey. **Note:** This vulnerability derives from an incomplete fix of another [vulnerability](https://security.snyk.io/vuln/SNYK-JS-CONVICT-1062508)
A flaw was found in convict. This flaw allows an attacker to inject attributes used in other components and override existing attributes with ones that have an incompatible type, leading to a crash.
Statement: The convict package is a transitive dependency and is not used directly in the Red Hat Advanced Cluster Security product. Hence, it is categorized as a Moderate impact.
Package: advanced-cluster-security/rhacs-docs-rhel8 (Red Hat Advanced Cluster Security 3) - Not aff
No detection rules found.
No public exploits indexed.
No writeups or analysis indexed.
https://github.com/mozilla/node-convict/blob/5eb1314f85346760a3c31cb14510f2f0af11d0d3/packages/convict/src/main.js%23L569https://github.com/mozilla/node-convict/commit/3b86be087d8f14681a9c889d45da7fe3ad9cd880https://snyk.io/vuln/SNYK-JS-CONVICT-2340604https://github.com/mozilla/node-convict/blob/5eb1314f85346760a3c31cb14510f2f0af11d0d3/packages/convict/src/main.js%23L569https://github.com/mozilla/node-convict/commit/3b86be087d8f14681a9c889d45da7fe3ad9cd880https://snyk.io/vuln/SNYK-JS-CONVICT-2340604
2022-05-01
Published