CVE-2021-23438 json
Prototype Pollution
published 5y ago modified 4mo ago also GHSA-p92x-r36w-9395 , EUVD-2021-2096
- cvss
- 5.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.7%
- EPSS 1.7% chance of exploitation in 30 days, percentile 77%
- public exploits
- 0
- none known
Summary
This affects the package mpath before 0.8.4. A type confusion vulnerability can lead to a bypass of CVE-2018-16490. In particular, the condition ignoreProperties.indexOf(parts[i]) !== -1 returns -1 if parts[i] is ['__proto__']. This is because the method that has been called if the input is an array is Array.prototype.indexOf() and not String.prototype.indexOf(). They behave differently depending on the type of the input.
Patch / fix
- npm mpath 0.8.4
- n/a mpath 0.8.4
Is CVE-2021-23438 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-23438 updated cvss 5.6
mpath: type confusion can lead to a bypass of CVE-2018-16490
-
Red Hat Advanced Cluster Management for Kubernetes 2 mpathnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.72% chance of exploitation in the next 30 days, higher than 77% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.6 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P/RL:O/RC:C |
| CNA | 3.1 | 5.6 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 5.6 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | mpath | <0.8.4 |
0.8.4 |
Affected products
- n/a mpath
Classification
- Weakness
-
- CWE-843 Access of Resource Using Incompatible Type
References
-
github.com
/aheckmann/mpath/commit/89402d2880d4ea3518480a8c9847c541f2d824fc
web, patch, third-party-advisory
-
github.com
/mongoosejs/mpath/commit/89402d2880d4ea3518480a8c9847c541f2d824fc
web
-
snyk.io
/vuln/SNYK-JS-MPATH-1577289
web, exploit, third-party-advisory
-
snyk.io
/vuln/SNYK-JAVA-ORGWEBJARSNPM-1579548
web, exploit, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-23438
advisory
-
github.com
/aheckmann/mpath
package
Sources
- CVE List CVE-2021-23438
- GitHub Advisory GHSA-p92x-r36w-9395
- NVD CVE-2021-23438
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.