Vulnerability · Published May 13, 2022 · Assigned by snyk

CVE-2022-21190Prototype Pollution

High 7.5

In plain English

A high-severity security flaw in convict. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 4.0% (higher than 91% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)4.0%top 9.5% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

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.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
npmconvict6.2.3GHSA-jjf5-wx3j-3fv7

Affected products (as reported)

VendorProductVersions
n/a convict unspecified – before 6.2.3

References