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

172 results · Clear filters · Feed

  • Critical 9.8

    deep-defaults vulnerable to prototype pollution

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

  • Critical 9.8

    Prototype Pollution in deep-override

    Prototype pollution vulnerability in 'deep-override' versions 1.0.0 through 1.0.1 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in 101

    Prototype pollution vulnerability in '101' versions 1.0.0 through 1.6.3 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in safe-obj

    Prototype pollution vulnerability in 'safe-obj' versions 1.0.0 through 1.0.2 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in safe-flat

    Prototype pollution vulnerability in 'safe-flat' versions 2.0.0 through 2.0.1 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution vulnerability in 'patchmerge'

    Prototype pollution vulnerability in 'patchmerge' versions 1.0.0 through 1.0.1 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Changeset vulnerable to prototype pollution

    Prototype pollution vulnerability in 'changeset' versions 0.0.1 through 0.2.5 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype Pollution Vulnerability in object-collider

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

  • Critical 9.1

    Autobinding vulnerability in MITREid Connect

    org/mitre/oauth2/web/OAuthConfirmationController.java in the OpenID Connect server implementation for MITREid Connect through 1.3.3 contains a Mass Assignment (aka Autobinding) vulnerability. This arises due to unsafe usage of the @ModelAttribute annotation d…

  • Critical 9.8

    Prototype Pollution in set-or-get

    Prototype pollution vulnerability in 'set-or-get' version 1.0.0 through 1.2.10 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    flattenizer vulnerable to prototype pollution

    Prototype pollution vulnerability in 'flattenizer' versions 0.0.5 through 1.0.5 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    shvl vulnerable to prototype pollution

    Prototype pollution vulnerability in 'shvl' versions 1.0.0 through 2.0.1 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in getobject

    Prototype pollution vulnerability in 'getobject' version 0.1.0 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in set-object-value

    Prototype pollution vulnerability in 'set-object-value' versions 0.0.0 through 0.0.5 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution vulnerability in 'deep-set'

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

  • Critical 9.8

    dset vulnerable to prototype pollution

    Prototype pollution vulnerability in 'dset' versions 1.0.0 through 2.0.1 allows attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in set-in

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

  • Critical 9.8

    keyget vulnerable to prototype pollution

    Prototype pollution vulnerability in 'keyget' versions 1.0.0 through 2.2.0 allows attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype Pollution in deephas

    Prototype pollution vulnerability in 'deephas' versions 1.0.0 through 1.0.5 allows attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution in object-hierarchy-access

    Prototype pollution vulnerability in 'object-hierarchy-access' versions 0.2.0 through 0.32.0 allows attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype Pollution in field

    Prototype pollution vulnerability in 'field' versions 0.0.1 through 1.0.1 allows attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8
    CVE-2020-8158 Public exploit

    TypeORM vulnerable to MAID and Prototype Pollution

    Prototype pollution vulnerability in the TypeORM package < 0.2.25 may allow attackers to add or modify Object properties leading to further denial of service or SQL injection attacks.

  • Critical 9.8
    CVE-2019-0230 Public exploit Scanner template EPSS 97%

    Improperly Controlled Modification of Dynamically-Determined Object Attributes in Apache Struts

    Apache Struts 2.0.0 to 2.5.20 forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution.

  • Critical 9.8

    Prototype Pollution

    All versions of package worksmith are vulnerable to Prototype Pollution via the setValue function.

  • Critical 9.8

    Prototype Pollution

    All versions of package safe-object2 are vulnerable to Prototype Pollution via the setter function.

  • Critical 9.8

    Prototype Pollution

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

  • Critical 9.8

    Prototype Pollution

    All versions of package promisehelpers are vulnerable to Prototype Pollution via the insert function.

  • Critical 9.8

    Prototype Pollution

    All versions of package tiny-conf are vulnerable to Prototype Pollution via the set function.

  • Critical 9.8

    Prototype Pollution

    All versions of package node-oojs are vulnerable to Prototype Pollution via the setPath function.

  • Critical 9.8

    Prototype Pollution

    All versions of package nodee-utils are vulnerable to Prototype Pollution via the deepSet function.

  • Critical 9.8

    Prototype Pollution

    The package node-forge before 0.10.0 is vulnerable to Prototype Pollution via the util.setPath function. Note: Version 0.10.0 is a breaking change removing the vulnerable functions.

  • Critical 9.8

    Prototype Pollution

    Versions of package locutus before 2.0.12 are vulnerable to prototype Pollution via the php.strings.parse_str function.

  • Critical 9.8

    Prototype Pollution

    All versions of package dot-notes are vulnerable to Prototype Pollution via the create function.

  • Critical 9.8

    Prototype Pollution

    All versions of package gammautils are vulnerable to Prototype Pollution via the deepSet and deepMerge functions.

  • Critical 9.8

    Prototype Pollution

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

  • Critical 9.8

    Prototype Pollution

    All versions of package deep-get-set are vulnerable to Prototype Pollution via the main function.

  • Critical 9.8

    Prototype Pollution

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

  • Critical 9.8

    Prototype Pollution

    All versions of package arr-flatten-unflatten are vulnerable to Prototype Pollution via the constructor.

  • Critical 9.8

    Prototype Pollution

    The package irrelon-path before 4.7.0; the package @irrelon/path before 4.7.0 are vulnerable to Prototype Pollution via the set, unSet, pushVal and pullVal functions.

  • Critical 9.8

    Prototype Pollution

    The package property-expr before 2.0.3 are vulnerable to Prototype Pollution via the setter function.