Skip to content
OpenAdvisories

Weakness (CWE)

CWE-1321: Improperly Controlled Modification of Object Prototype Attributes

Variant Incomplete

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.

How to prevent it (5 mitigations)
  1. Implementation

    By freezing the object prototype first (for example, Object.freeze(Object.prototype)), modification of the prototype becomes impossible.

  2. Architecture and Design

    By blocking modifications of attributes that resolve to object prototype, such as proto or prototype, this weakness can be mitigated.

  3. Implementation

    When handling untrusted objects, validating using a schema can be used.

  4. Implementation

    By using an object without prototypes (via Object.create(null) ), adding object prototype attributes by accessing the prototype via the special attributes becomes impossible, mitigating this weakness.

  5. Implementation

    Map can be used instead of objects in most cases. If Map methods are used instead of object attributes, it is not possible to access the object prototype or modify it.

Source: MITRE CWE-1321

307 results · Clear filters · Feed

  • High 7.3

    Prototype Pollution

    This affects all versions of package nedb. The library could be tricked into adding or modifying properties of Object.prototype using a __proto__ or constructor.prototype payload.

  • High 7.1

    Use of Potentially Dangerous Function in mixme

    In Node.js mixme, prior to v0.5.1, an attacker can add or alter properties of an object via '__proto__' through the mutate() and merge() functions. The polluted attribute will be directly assigned to every object in the program. This will put the availability…

  • High 8.8

    jquery-plugin-query-object contains prototype pollution vulnerability

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in jquery-plugin-query-object 2.2.3 allows a malicious user to inject properties into Object.prototype.

  • High 8.8

    Prototype Pollution in backbone-query-parameters

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in backbone-query-parameters 0.4.0 allows a malicious user to inject properties into Object.prototype.

  • High 8.8
    CVE-2021-20086 Scanner template

    Prototype Pollution in jquery-bbq

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in jquery-bbq 1.2.1 allows a malicious user to inject properties into Object.prototype.

  • High 8.8

    Prototype Pollution in jquery-deparam

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in jquery-deparam 0.5.1 allows a malicious user to inject properties into Object.prototype.

  • High 8.8

    mootools-more vulnerable to prototype pollution

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in mootools-more 1.6.0 allows a malicious user to inject properties into Object.prototype.

  • High 7.5

    Prototype Pollution

    This affects the package swiper before 6.5.1.

  • High 7.3

    Prototype Pollution

    The package copy-props before 2.0.5 are vulnerable to Prototype Pollution via the main functionality.

  • High 7.7

    Prototype Pollution in Node-Red

    Node-Red is a low-code programming for event-driven applications built using nodejs. Node-RED 1.2.7 and earlier contains a Prototype Pollution vulnerability in the admin API. A badly formed request can modify the prototype of the default JavaScript Object wit…

  • High 7.2

    Prototype Pollution in Dynamoose

    Dynamoose is an open-source modeling tool for Amazon's DynamoDB. In Dynamoose from version 2.0.0 and before version 2.7.0 there was a prototype pollution vulnerability in the internal utility method "lib/utils/object/set.ts". This method is used throughout th…

  • High 8.6

    Prototype Pollution

    This affects all versions of package decal. The vulnerability is in the set function.

  • High 8.6

    Prototype Pollution

    This affects all versions of package decal. The vulnerability is in the extend function.

  • High 7.3

    Prototype Pollution

    This affects the package total.js before 3.4.7. The set function can be used to set a value into the object according to the path. However the keys of the path being set are not properly sanitized, leading to a prototype pollution vulnerability. The impact de…

  • High 7.3

    Prototype Pollution

    This affects the package @aws-sdk/shared-ini-file-loader before 1.0.0-rc.9; the package aws-sdk before 2.814.0. If an attacker submits a malicious INI file to an application that parses it with loadSharedConfigFiles , they will pollute the prototype on the ap…

  • High 7.3
    CVE-2020-28458 Public exploit

    Prototype Pollution

    All versions of package datatables.net are vulnerable to Prototype Pollution due to an incomplete fix for https://snyk.io/vuln/SNYK-JS-DATATABLESNET-598806.

  • High 7.5

    Prototype Pollution

    All versions of package js-data are vulnerable to Prototype Pollution via the deepFillIn function.

  • High 7.5

    Prototype Pollution

    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…

  • High 7.3

    Prototype Pollution

    This affects the package ini before 1.3.6. If an attacker submits a malicious INI file to an application that parses it with ini.parse, they will pollute the prototype on the application. This can be exploited further depending on the context.

  • High 7.3
    CVE-2020-7774 EPSS 70%

    Prototype Pollution

    The package y18n before 3.2.2, 4.0.1 and 5.0.5, is vulnerable to Prototype Pollution.

  • High 7.5

    Prototype pollution in controlled-merge

    Prototype pollution vulnerability in 'controlled-merge' versions 1.0.0 through 1.2.0 allows attacker to cause a denial of service and may lead to remote code execution.

  • High 7.5

    Prototype Pollution

    This affects the package doc-path before 2.1.2.

  • High 7.5

    Prototype Pollution

    The package grpc before 1.24.4; the package @grpc/grpc-js before 1.1.8 are vulnerable to Prototype Pollution via loadPackageDefinition.

  • High 7.5

    Prototype pollution in @strikeentco/set

    Prototype pollution vulnerability in '@strikeentco/set' version 1.0.0 allows attacker to cause a denial of service and may lead to remote code execution.

  • High 7.3

    Prototype Pollution

    This affects all versions of package json-ptr. The issue occurs in the set operation (https://flitbit.github.io/json-ptr/classes/_src_pointer_.jsonpointer.htmlset) when the force flag is set to true. The function recursively set the property in the target obj…

  • High 7.5

    Prototype pollution in json8-merge-patch

    Prototype pollution vulnerability in json8-merge-patch npm package < 1.0.3 may allow attackers to inject or modify methods and properties of the global object constructor.

  • High 7.5

    Prototype Pollution

    This affects the package chart.js before 2.9.4. The options parameter is not properly sanitized when it is processed. When the options are processed, the existing options (or the defaults options) are deeply merged with provided options. However, during this …

  • High 7.5

    Prototype Pollution

    This affects the package simpl-schema before 1.10.2.

  • High 7.3

    Prototype Pollution

    All versions of package safetydance are vulnerable to Prototype Pollution via the set function.

  • High 7.3

    Prototype Pollution

    The package bmoor before 0.8.12 are vulnerable to Prototype Pollution via the set function.

  • High —

    Prototype Pollution in sahmat

    All versions of `sahmat ` are vulnerable to prototype pollution. The package does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Recommendation No fi…

  • High —

    Prototype Pollution in safe-object2

    All versions of `safe-object2` are vulnerable to prototype pollution. The `settter()` function does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Re…

  • High —

    Prototype Pollution in getsetdeep

    All versions of `getsetdeep` are vulnerable to prototype pollution. The `setDeep()` function does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Reco…

  • High —

    Prototype Pollution in deep-setter

    All versions of `deep-setter` are vulnerable to prototype pollution. The package does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Recommendation N…

  • High —

    Prototype Pollution in get-setter

    All versions of `get-setter` are vulnerable to prototype pollution. The function `set` does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Recommenda…

  • High —

    Prototype Pollution in reggae

    All versions of `reggae` are vulnerable to prototype pollution. The function `set` does not restrict the modification of an Object's prototype, which may allow a malicious to add or modify an existing property that will exist on all objects. ## Recommendation…

  • High —

    Prototype Pollution in unflatten

    All versions of `unflatten` are vulnerable to prototype pollution. The function `unflatten` does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Recom…

  • High —

    Prototype Pollution in flat-wrap

    All versions of `flat-wrap` are vulnerable to prototype pollution. The function `unflatten` does not restrict the modification of an Object's prototype, which may allow an attacker to add or modify an existing property that will exist on all objects. ## Recom…

  • High —

    Prototype Pollution in handlebars

    Versions of `handlebars` prior to 3.0.8 or 4.5.3 are vulnerable to prototype pollution. It is possible to add or modify properties to the Object prototype through a malicious template. This may allow attackers to crash the application or execute Arbitrary Cod…

  • High —

    Prototype Pollution in mithril

    Affected versions of `mithril`are vulnerable to prototype pollution. The function `parseQueryString` may allow a malicious user to modify the prototype of `Object`, causing the addition or modification of an existing property that will exist on all objects. A…