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

712 results · Feed

  • High 8.0

    Prototype Pollution in fabiocaccamo/utils.js

    utils.js is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • Critical 9.0

    XSS via prototype pollution

    Nodebb is an open source Node.js based forum software. In affected versions a prototype pollution vulnerability in the uploader module allowed a malicious user to inject arbitrary data (i.e. javascript) into the DOM, theoretically allowing for an account take…

  • Medium 5.9

    Prototype Pollution

    The package algoliasearch-helper before 3.6.2 are vulnerable to Prototype Pollution due to use of the merge function in src/SearchParameters/index.jsSearchParameters._parseNumbers without any protection against prototype properties. Note that this vulnerabili…

  • Critical 9.8

    Prototype Pollution in kriszyp/json-schema

    json-schema is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • Medium 5.6

    Prototype Pollution

    This affects the package json-ptr before 3.0.0. A type confusion vulnerability can lead to a bypass of CVE-2020-7766 when the user-provided keys used in the pointer parameter are arrays.

  • Medium 5.6

    Prototype Pollution

    This affects the package jsonpointer before 5.0.0. A type confusion vulnerability can lead to a bypass of a previous Prototype Pollution fix when the pointer components are arrays.

  • Medium 5.6

    Prototype Pollution

    This affects the package dotty before 0.1.2. A type confusion vulnerability can lead to a bypass of CVE-2021-25912 when the user-provided keys used in the path parameter are arrays.

  • Medium 5.6

    Prototype Pollution

    This affects all versions of package json-pointer. A type confusion vulnerability can lead to a bypass of CVE-2020-7709 when the pointer components are arrays.

  • High 8.6

    Prototype Pollution

    This affects all versions of package x-assign. The global proto object can be polluted using the __proto__ object.

  • Critical 9.8

    Sandbox Bypass

    This affects the package vm2 before 3.9.4 via a Prototype Pollution attack vector, which can lead to execution of arbitrary code on the host machine.

  • Critical 9.1

    Prototype pollution in aurelia-path

    aurelia-path is part of the Aurelia platform and contains utilities for path manipulation. There is a prototype pollution vulnerability in aurelia-path before version 1.1.7. The vulnerability exposes Aurelia application that uses `aurelia-path` package to par…

  • Medium 5.6

    Prototype Pollution

    This affects the package jointjs before 3.4.2. A type confusion vulnerability can lead to a bypass of CVE-2020-28480 when the user-provided keys used in the path parameter are arrays in the setByPath function.

  • High —

    Prototype Pollution in mixme

    ### Impact When copying properties from a source object to a target object, the target object can gain access to certain properties of the source object and modify their content. ### Patches The problem was patch with a more agressive discovery of secured pro…

  • Medium 6.2

    Fix prototype pollution in the zrender merge and clone helper methods

    ZRender is a lightweight graphic library providing 2d draw for Apache ECharts. In versions prior to 5.2.1, using `merge` and `clone` helper methods in the `src/core/util.ts` module results in prototype pollution. It affects the popular data visualization libr…

  • High 8.6

    Prototype Pollution

    This affects all versions of package @cookiex/deep. The global proto object can be polluted using the __proto__ object.

  • High 7.5

    Prototype Pollution in mariocasciaro/object-path

    object-path is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • Medium 6.8

    DOM-based XSS/Content Spoofing via Prototype Pollution

    Jitsi Meet is an open source video conferencing application. Versions prior to 2.0.6173 are vulnerable to client-side cross-site scripting via injecting properties into JSON objects that were not properly escaped. There are no known incidents related to this …

  • High 7.6

    Prototype Pollution in fiznool/body-parser-xml

    body-parser-xml is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • High 7.3

    Prototype Pollution

    This affects the package set-value before <2.0.1, >=3.0.0 <4.0.1. A type confusion vulnerability can lead to a bypass of CVE-2019-10747 when the user-provided keys used in the path parameter are arrays.

  • Medium 6.8

    Prototype Pollution in viking04/merge

    merge is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • High 7.5

    Prototype Pollution in vincit/objection.js

    objection.js is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • High 7.5

    Prototype Pollution in immerjs/immer

    immer is vulnerable to Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')

  • Medium 5.6

    Prototype Pollution

    This affects the package immer before 9.0.6. A type confusion vulnerability can lead to a bypass of CVE-2020-28477 when the user-provided keys used in the path parameter are arrays. In particular, this bypass is possible because the condition (p === "__proto_…

  • Medium 5.6

    Prototype Pollution

    This affects all versions of package Proto. It is possible to inject pollute the object property of an application using Proto by leveraging the merge function.

  • Medium 5.6

    Prototype Pollution

    This affects the package object-path before 0.11.6. A type confusion vulnerability can lead to a bypass of CVE-2020-15256 when the path components used in the path parameter are arrays. In particular, the condition currentPath === '__proto__' returns false if…

  • Medium 5.4

    Prototype Pollution

    This affects all versions of package mootools. This is due to the ability to pass untrusted input to Object.merge()

  • High 7.3

    Prototype Pollution

    This affects the package open-graph before 0.2.6. The function parse could be tricked into adding or modifying properties of Object.prototype using a __proto__ or constructor payload.

  • High 7.5

    Improperly Controlled Modification of Object Prototype Attributes

    ### Impact The software 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. ### Patches `think-config@1.1…

  • High 7.5

    Remote Code Execution via Script (Python) objects under Python 3

    Zope is an open-source web application server. Zope versions prior to versions 4.6.3 and 5.3 have a remote code execution security issue. In order to be affected, one must use Python 3 for one's Zope deployment, run Zope 4 below version 4.6.3 or Zope 5 below …

  • Medium 4.4

    Remote Code Execution via unsafe classes in otherwise permitted modules

    The module `AccessControl` defines security policies for Python code used in restricted code within Zope applications. Restricted code is any code that resides in Zope's object database, such as the contents of `Script (Python)` objects. The policies defined …

  • Medium 5.6

    Prototype Pollution

    All versions of package deepmergefn are vulnerable to Prototype Pollution via deepMerge function.

  • Medium 5.3

    Denial of Service (DoS)

    This affects the package jszip before 3.7.0. Crafting a new zip file with filenames set to Object prototype values (e.g __proto__, toString, etc) results in a returned object with a modified prototype instance.

  • Medium 5.4

    Prototype Pollution

    This affects the package com.graphhopper:graphhopper-web-bundle before 3.2, from 4.0-pre1 and before 4.0. The URL parser could be tricked into adding or modifying properties of Object.prototype using a constructor or __proto__ payload.

  • Critical 9.8

    Prototype Pollution in putil-merge

    Prototype pollution vulnerability in 'putil-merge' versions1.0.0 through 3.6.6 allows attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype polluation in just-safe-set

    Prototype pollution vulnerability in ‘just-safe-set’ versions 1.0.0 through 2.2.1 allows an attacker to cause a denial of service and may lead to remote code execution.

  • High 7.3

    Prototype Pollution

    All versions of package ts-nodash are vulnerable to Prototype Pollution via the Merge() function due to lack of validation input.

  • High 7.3

    Prototype Pollution

    All versions of package record-like-deep-assign are vulnerable to Prototype Pollution via the main functionality.

  • Medium 6.5

    Apache Druid: The HTTP inputSource allows authenticated users to read data from other sources than intended

    In the Druid ingestion system, the InputSource is used for reading data from a certain data source. However, the HTTP InputSource allows authenticated users to read data from other sources than intended, such as the local file system, with the privileges of t…

  • High 7.5

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in think-helper

    think-helper defines a set of helper functions for ThinkJS. In versions of think-helper prior to 1.1.3, the software receives input from an upstream component that specifies attributes that are to be initialized or updated in an object, but it does not proper…

  • Medium 5.6

    Prototype Pollution

    All versions of package lutils are vulnerable to Prototype Pollution via the main (merge) function.