This affects all versions of package mout. The deepFillIn function can be used to ‘fill missing properties recursively’, while the deepMixIn mixes objects into the target object, recursively mixing existing child objects as well. In both cases, the key used to access the target object recursively is not checked, leading to exploiting this vulnerability. Note: This vulnerability derives from an incomplete fix of CVE-2020-7792.
References
- https://nvd.nist.gov/vuln/detail/CVE-2022-21213
- https://github.com/mout/mout/blob/master/src/object/deepFillIn.js
- https://github.com/mout/mout/blob/master/src/object/deepMixIn.js
- https://snyk.io/vuln/SNYK-JS-MOUT-2342654
- https://github.com/mout/mout/pull/279
- https://github.com/mout/mout/commit/17ffdc2a96417a63a0147156dc045e90d0d14c64
- https://github.com/advisories/GHSA-vvv8-xw5f-3f88