medium5.6
CVE-2021-23438
Type confusion in mpath
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | mpath | < 0.8.4 | 0.8.4 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Mpath Project | Mpath | before 0.8.4 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/aheckmann/mpath/commit/89402d2880d4ea3518480a8c9847c541f2d824fc
- https://snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-1579548
- https://snyk.io/vuln/SNYK-JS-MPATH-1577289
- https://github.com/advisories/GHSA-p92x-r36w-9395
- https://nvd.nist.gov/vuln/detail/CVE-2021-23438
- https://github.com/mongoosejs/mpath/commit/89402d2880d4ea3518480a8c9847c541f2d824fc