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 8.2

    progressbar.js vulnerable to Prototype Pollution

    All versions of the package progressbar.js are vulnerable to Prototype Pollution via the function extend() in the file utils.js.

  • High 7.5

    dottie vulnerable to Prototype Pollution

    Versions of the package dottie before 2.0.4 are vulnerable to Prototype Pollution due to insufficient checks, via the set() function and the current variable in the /dottie.js file.

  • High 8.8

    aiven-extras PostgreSQL Privilege Escalation Through Overloaded Search Path

    aiven-extras is a PostgreSQL extension. Versions prior to 1.1.9 contain a privilege escalation vulnerability, allowing elevation to superuser inside PostgreSQL databases that use the aiven-extras package. The vulnerability leverages missing schema qualifiers …

  • High 7.8
    CVE-2023-30533 Public exploit

    Prototype Pollution in sheetJS

    SheetJS Community Edition before 0.19.3 allows Prototype Pollution via a crafted file. In other words. 0.19.2 and earlier are affected, whereas 0.19.3 and later are unaffected.

  • High 8.8

    safe-eval vulnerable to Sandbox Bypass due to improper input sanitization

    All versions of the package safe-eval are vulnerable to Sandbox Bypass due to improper input sanitization. The vulnerability is derived from prototype pollution exploitation. Exploiting this vulnerability might result in remote code execution ("RCE"). **Vulne…

  • High 7.5

    safe-eval vulnerable to Prototype Pollution via the safeEval function

    All versions of the package safe-eval are vulnerable to Prototype Pollution via the safeEval function, due to improper sanitization of its parameter content.

  • High 8.2

    Prototype pollution in matrix-react-sdk

    matrix-react-sdk is a Matrix chat protocol SDK for React Javascript. Events sent with special strings in key places can temporarily disrupt or impede the matrix-react-sdk from functioning properly, such as by causing room or event tile crashes. The remainder …

  • High 8.2

    Prototype pollution in matrix-react-sdk

    matrix-react-sdk is a Matrix chat protocol SDK for React Javascript. In certain configurations, data sent by remote servers containing special strings in key locations could cause modifications of the `Object.prototype`, disrupting matrix-react-sdk functional…

  • High 8.2

    Prototype pollution in matrix-js-sdk

    matrix-js-sdk is a Matrix messaging protocol Client-Server SDK for JavaScript. In versions prior to 24.0.0 events sent with special strings in key places can temporarily disrupt or impede the matrix-js-sdk from functioning properly, potentially impacting the …

  • High 8.2

    Prototype pollution in matrix-js-sdk

    matrix-js-sdk is a Matrix messaging protocol Client-Server SDK for JavaScript. In versions prior to 19.4.0 events sent with special strings in key places can temporarily disrupt or impede the matrix-js-sdk from functioning properly, potentially impacting the …

  • High 7.5

    Collection.js vulnerable to Prototype Pollution

    Versions of the package collection.js before 6.8.1 are vulnerable to Prototype Pollution via the extend function in Collection.js/dist/node/iterators/extend.js.

  • High 7.5

    dot-lens vulnerable to Prototype Pollution

    All versions of the package dot-lens are vulnerable to Prototype Pollution via the set() function in index.js file.

  • High 7.5

    mde utilities contains Prototype Pollution

    All versions of the package utilities are vulnerable to Prototype Pollution via the _mix function.

  • High 7.5

    rangy vulnerable to Prototype Pollution

    All versions of the package rangy are vulnerable to Prototype Pollution when using the extend() function in file rangy-core.js.The function uses recursive merge which can lead an attacker to modify properties of the Object.prototype

  • High 8.8

    A prototype pollution vulnerability exists in Rocket.Chat server <5.2.0 that could allow an attacker to a RCE under the…

  • High 7.2

    Visioweb.js - Prototype Pollution can results in XSS

    Prototype Pollution in Visioweb.js 1.10.6 allows attackers to execute XSS on the client system.

  • High 7.1
    CVE-2022-46175 Public exploit

    Prototype Pollution in JSON5 via Parse Method

    JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The `parse` method of the JSON5 library before and including versions 1.0.1 and 2.2.1 does not restrict parsing of keys named `…

  • High 8.8
    CVE-2022-1802 Public exploit EPSS 28%

    If an attacker was able to corrupt the methods of an Array object in JavaScript via prototype pollution, they could hav…

  • High 8.8
    CVE-2022-1529 EPSS 18%

    An attacker could have sent a message to the parent process where the contents were used to double-index into a JavaScr…

  • High 8.8
    CVE-2022-2200 EPSS 24%

    If an object prototype was corrupted by an attacker, they would have been able to set undesired attributes on a JavaScr…

  • High 7.5

    Prototype Pollution

    All versions of package safe-eval are vulnerable to Prototype Pollution which allows an attacker to add or modify properties of the Object.prototype.Consolidate when using the function safeEval. This is because the function uses vm variable, leading an attack…

  • High 7.5
    CVE-2022-24999 Public exploit EPSS 16%

    qs vulnerable to Prototype Pollution

    qs before 6.10.3, as used in Express before 4.17.3 and other products, allows attackers to cause a Node process hang for an Express application because an __ proto__ key can be used. In many typical Express use cases, an unauthenticated remote attacker can pl…

  • High 7.2

    Parse Server Prototype pollution and Injection via Cloud Code Webhooks or Cloud Code Triggers

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 5.3.2 or 4.10.19, keywords that are specified in the Parse Server option `requestKeywordDenylist` can be injected via Cloud Code Webho…

  • High 7.2

    Parse Server subject to Prototype pollution via Cloud Code Webhooks

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 5.3.3 or 4.10.20, a compromised Parse Server Cloud Code Webhook target endpoint allows an attacker to use prototype pollution to bypas…

  • High 8.1

    Winter vulnerable to Prototype Pollution in Snowboard framework

    Winter is a free, open-source content management system based on the Laravel PHP framework. The Snowboard framework in versions 1.1.8, 1.1.9, and 1.2.0 is vulnerable to prototype pollution in the main Snowboard class as well as its plugin loader. The 1.0 bran…

  • High 7.3

    Prototype Pollution

    The package express-xss-sanitizer before 1.1.3 are vulnerable to Prototype Pollution via the allowedTags attribute, allowing the attacker to bypass xss sanitization.

  • High 8.1

    hoek subject to prototype pollution via the clone function.

    hoek before 8.5.1 and 9.x before 9.0.3 allows prototype poisoning in the clone function.

  • High 7.5

    Prototype Pollution

    The package ts-deepmerge before 2.0.2 are vulnerable to Prototype Pollution due to missing sanitization of the merge function.

  • High 7.0
    CVE-2022-2564 EPSS 31%

    Prototype Pollution in automattic/mongoose

    Prototype Pollution in GitHub repository automattic/mongoose prior to 6.4.6.

  • High 7.5

    Prototype Pollution

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

  • High 7.3

    Prototype Pollution

    This affects the package properties-reader before 2.2.0.

  • High 7.3

    Prototype Pollution

    This affects all versions of package ion-parser. If an attacker submits a malicious INI file to an application that parses it with parse , they will pollute the prototype on the application. This can be exploited further depending on the context.

  • High 7.3

    Prototype Pollution

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

  • High 7.3

    Prototype Pollution

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

  • High 8.3

    Prototype Pollution in underscore.deep

    Underscore.deep is a collection of Underscore mixins that operate on nested objects. Versions of `underscore.deep` prior to version 0.5.3 are vulnerable to a prototype pollution vulnerability. An attacker can craft a malicious payload and pass it to `deepFrom…

  • High 7.5

    Prototype Pollution

    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)

  • 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 t…

  • High 8.2

    Prototype Pollution

    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…

  • High 7.5

    Prototype Pollution

    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 o…

  • High 7.7

    Prototype Pollution

    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.