← Back
CWE-1321

536 CVEs • Abstraction: Variant

Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

The product receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not properly control modifications of attributes of the object prototype.

JSON object

Loading...

CVEs (536)

CVE
VENDORS
PRODUCTS
UPDATED
PUBLISHED
CVSS
1Deep Get Set Project
1Deep Get Set
Jun 17, 2026
Jun 24, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
All versions of package deep-get-set are vulnerable to Prototype Pollution via the 'deep' function. **Note:** This vulnerability derives from an incomplete fix of [CVE-2020-7715](https://security.snyk.io/vuln/SNYK-JS-DEE...Show more
All versions of package deep-get-set are vulnerable to Prototype Pollution via the 'deep' function. **Note:** This vulnerability derives from an incomplete fix of [CVE-2020-7715](https://security.snyk.io/vuln/SNYK-JS-DEEPGETSET-598666)Show less
1Querymen Project
1Querymen
Jun 17, 2026
Jun 17, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
All versions of package querymen are vulnerable to Prototype Pollution if the parameters of exported function handler(type, name, fn) can be controlled by users without any sanitization. Note: This vulnerability derives...Show more
All versions of package querymen are vulnerable to Prototype Pollution if the parameters of exported function handler(type, name, fn) can be controlled by users without any sanitization. Note: This vulnerability derives from an incomplete fix of [CVE-2020-7600](https://security.snyk.io/vuln/SNYK-JS-QUERYMEN-559867).Show less
1Moutjs
1Mout
Jun 17, 2026
Jun 17, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
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...Show more
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](https://security.snyk.io/vuln/SNYK-JS-MOUT-1014544).Show less
1Protobufjs Project
1Protobufjs
Jun 17, 2026
May 27, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
The package protobufjs before 6.11.3 are vulnerable to Prototype Pollution which can allow an attacker to add/modify properties of the Object.prototype. This vulnerability can occur in multiple ways: 1. by providing untr...Show more
The package protobufjs before 6.11.3 are vulnerable to Prototype Pollution which can allow an attacker to add/modify properties of the Object.prototype. This vulnerability can occur in multiple ways: 1. by providing untrusted user input to util.setProperty or to ReflectionObject.setParsedOption functions 2. by parsing/loading .proto filesShow less
1Sds Project
1Sds
Jun 17, 2026
May 13, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
This affects the package sds from 0.0.0. The library could be tricked into adding or modifying properties of the Object.prototype by abusing the set function located in js/set.js. **Note:** This vulnerability derives fro...Show more
This affects the package sds from 0.0.0. The library could be tricked into adding or modifying properties of the Object.prototype by abusing the set function located in js/set.js. **Note:** This vulnerability derives from an incomplete fix to [CVE-2020-7618](https://security.snyk.io/vuln/SNYK-JS-SDS-564123)Show less
1Mozilla
1Convict
Jun 17, 2026
May 13, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
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/3b86be087d8f14681a9c889...Show more
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.Show less
1Ramdajs
1Ramda
Jun 17, 2026
May 10, 2022
N/A· v4
9.1 CRITICAL· v3
6.4 MEDIUM· v2
Prototype poisoning in function mapObjIndexed in Ramda 0.27.0 and earlier allows attackers to compromise integrity or availability of application via supplying a crafted object (that contains an own property "__proto__")...Show more
Prototype poisoning in function mapObjIndexed in Ramda 0.27.0 and earlier allows attackers to compromise integrity or availability of application via supplying a crafted object (that contains an own property "__proto__") as an argument to the function. NOTE: the vendor disputes this because the observed behavior only means that a user can create objects that the user didn't know would contain custom prototypesShow less
1Bignum Project
1Bignum
Jun 17, 2026
May 6, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
All versions of package bignum are vulnerable to Denial of Service (DoS) due to a type-check exception in V8, when verifying the type of the second argument to the .powm function, V8 will crash regardless of Node try/cat...Show more
All versions of package bignum are vulnerable to Denial of Service (DoS) due to a type-check exception in V8, when verifying the type of the second argument to the .powm function, V8 will crash regardless of Node try/catch blocks.Show less
1Jsgui Lang Essentials Project
1Jsgui Lang Essentials
Jun 17, 2026
May 1, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
All versions of package jsgui-lang-essentials are vulnerable to Prototype Pollution due to allowing all Object attributes to be altered, including their magical attributes such as proto, constructor and prototype.
1Dset Project
1Dset
Jun 17, 2026
May 1, 2022
N/A· v4
8.1 HIGH· v3
6.8 MEDIUM· v2
All versions of package dset are vulnerable to Prototype Pollution via 'dset/merge' mode, as the dset function checks for prototype pollution by validating if the top-level path contains __proto__, constructor or protory...Show more
All versions of package dset are vulnerable to Prototype Pollution via 'dset/merge' mode, as the dset function checks for prototype pollution by validating if the top-level path contains __proto__, constructor or protorype. By crafting a malicious object, it is possible to bypass this check and achieve prototype pollution.Show less
1Mozilla
1Convict
Jun 17, 2026
May 1, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
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 [vulnerabilit...Show more
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)Show less
1Dexie
1Dexie
Jun 17, 2026
May 1, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
The package dexie before 3.2.2, from 4.0.0-alpha.1 and before 4.0.0-alpha.3 are vulnerable to Prototype Pollution in the Dexie.setByKeyPath(obj, keyPath, value) function which does not properly check the keys being set (...Show more
The package dexie before 3.2.2, from 4.0.0-alpha.1 and before 4.0.0-alpha.3 are vulnerable to Prototype Pollution in the Dexie.setByKeyPath(obj, keyPath, value) function which does not properly check the keys being set (like __proto__ or constructor). This can allow an attacker to add/modify properties of the Object.prototype leading to prototype pollution vulnerability. **Note:** This vulnerability can occur in multiple ways, for example when modifying a collection with untrusted user input.Show less
1Springtree
1Madlib Object Utils
Jun 17, 2026
Apr 15, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
The package madlib-object-utils before 0.1.8 are vulnerable to Prototype Pollution via the setValue method, as it allows an attacker to merge object prototypes into it. *Note:* This vulnerability derives from an incomple...Show more
The package madlib-object-utils before 0.1.8 are vulnerable to Prototype Pollution via the setValue method, as it allows an attacker to merge object prototypes into it. *Note:* This vulnerability derives from an incomplete fix of [CVE-2020-7701](https://security.snyk.io/vuln/SNYK-JS-MADLIBOBJECTUTILS-598676)Show less
1Nconf Project
1Nconf
Jun 17, 2026
Apr 12, 2022
N/A· v4
7.5 HIGH· v3
5.0 MEDIUM· v2
This affects the package nconf before 0.11.4. When using the memory engine, it is possible to store a nested JSON representation of the configuration. The .set() function, that is responsible for setting the configuratio...Show more
This affects the package nconf before 0.11.4. When using the memory engine, it is possible to store a nested JSON representation of the configuration. The .set() function, that is responsible for setting the configuration properties, is vulnerable to Prototype Pollution. By providing a crafted property, it is possible to modify the properties on the Object.prototype.Show less
1Fullpage Project
1Fullpage
Jun 17, 2026
Apr 11, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
Prototype Pollution in GitHub repository alvarotrigo/fullpage.js prior to 4.0.2.
2Async Project
Fedoraproject
2Async
Fedora
Jun 17, 2026
Apr 6, 2022
N/A· v4
7.8 HIGH· v3
6.8 MEDIUM· v2
In Async before 2.6.4 and 3.x before 3.2.2, a malicious user can obtain privileges via the mapValues() method, aka lib/internal/iterator.js createObjectIterator prototype pollution.
1Deepmerge Ts Project
1Deepmerge Ts
Jun 17, 2026
Apr 1, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
deepmerge-ts is a typescript library providing functionality to deep merging of javascript objects. deepmerge-ts is vulnerable to Prototype Pollution via file deepmerge.ts, function defaultMergeRecords(). This issue has...Show more
deepmerge-ts is a typescript library providing functionality to deep merging of javascript objects. deepmerge-ts is vulnerable to Prototype Pollution via file deepmerge.ts, function defaultMergeRecords(). This issue has been patched in version 4.0.2. There are no known workarounds for this issue.Show less
1Simple Plist Project
1Simple Plist
Jun 17, 2026
Mar 22, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
Simple-Plist v1.3.0 was discovered to contain a prototype pollution vulnerability via .parse().
1Substack
1Minimist
Jun 17, 2026
Mar 17, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
Minimist <=1.2.5 is vulnerable to Prototype Pollution via file index.js, function setKey() (lines 69-95).
1Set In Project
1Set In
Jun 17, 2026
Mar 17, 2022
N/A· v4
9.8 CRITICAL· v3
7.5 HIGH· v2
The package set-in before 2.0.3 are vulnerable to Prototype Pollution via the setIn method, as it allows an attacker to merge object prototypes into it. **Note:** This vulnerability derives from an incomplete fix of [CVE...Show more
The package set-in before 2.0.3 are vulnerable to Prototype Pollution via the setIn method, as it allows an attacker to merge object prototypes into it. **Note:** This vulnerability derives from an incomplete fix of [CVE-2020-28273](https://security.snyk.io/vuln/SNYK-JS-SETIN-1048049)Show less