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

  • Medium 6.5
    CVE-2023-26136 Public exploit

    tough-cookie Prototype Pollution vulnerability

    Versions of the package tough-cookie before 4.1.3 are vulnerable to Prototype Pollution due to improper handling of Cookies when using CookieJar in rejectPublicSuffixes=false mode. This issue arises from the manner in which the objects are initialized.

  • High 7.3

    flatnest Prototype Pollution vulnerability

    All versions of the package flatnest are vulnerable to Prototype Pollution via the nest() function in the flatnest/nest.js file.

  • Critical 9.8

    Parse Server vulnerable to remote code execution via MongoDB BSON parser through prototype pollution

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 5.5.2 and 6.2.1, an attacker can use a prototype pollution sink to trigger a remote code execution through the MongoDB BSON parser. A pat…

  • 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.

  • Medium 5.4

    Prototype Pollution in antfu/utils

    Prototype Pollution in GitHub repository antfu/utils prior to 0.7.3.

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

  • Medium 6.1

    A prototype pollution vulnerability exists in Strikingly CMS which can result in reflected cross-site scripting (XSS) i…

  • Low 3.7

    @aedart/support possibly vulnerable to prototype pollution in metadata record, when using meta decorator

    @aedart/support is the support package for Ion, a monorepo for JavaScript/TypeScript packages. Prior to version `0.6.1`, there is a possible prototype pollution issue for the `MetadataRecord`, when merged with a base class' metadata object, in `meta` decorato…

  • Critical 9.8

    Prototype Pollution in vConsole

    vConsole v3.15.0 was discovered to contain a prototype pollution due to incorrect key and value resolution in setOptions in core.ts.

  • 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.

  • Medium 5.3

    xml2js 0.4.23 - Prototype Pollution

    xml2js version 0.4.23 allows an external attacker to edit or add new properties to an object. This is possible because the application does not properly validate incoming JSON keys, thus allowing the __proto__ property to be edited.

  • 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.

  • Medium 6.3

    Yomguithereal Baobab prototype pollution

    A vulnerability was found in Yomguithereal Baobab up to 2.6.0. It has been declared as critical. Affected by this vulnerability is an unknown functionality. The manipulation leads to improperly controlled modification of object prototype attributes ('prototyp…

  • Medium 6.3

    json-pointer index.js set prototype pollution

    A vulnerability, which was classified as critical, has been found in json-pointer up to 0.6.1. Affected by this issue is the function set of the file index.js. The manipulation leads to improperly controlled modification of object prototype attributes ('proto…

  • Medium 6.3

    Starcounter-Jack JSON-Patch prototype pollution

    A vulnerability has been found in Starcounter-Jack JSON-Patch up to 3.1.0 and classified as problematic. This vulnerability affects unknown code. The manipulation leads to improperly controlled modification of object prototype attributes ('prototype pollution…

  • Medium 6.3

    hughsk flat index.js unflatten prototype pollution

    A vulnerability, which was classified as critical, was found in hughsk flat up to 5.0.0. This affects the function unflatten of the file index.js. The manipulation leads to improperly controlled modification of object prototype attributes ('prototype pollutio…

  • Medium 5.5

    cronvel tree-kit prototype pollution

    A vulnerability classified as problematic has been found in cronvel tree-kit up to 0.6.x. This affects an unknown part. The manipulation leads to improperly controlled modification of object prototype attributes ('prototype pollution'). Upgrading to version 0…

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

  • Medium 6.3

    LinkedIn dustjs prototype pollution

    A vulnerability was found in LinkedIn dustjs up to 2.x and classified as problematic. Affected by this issue is some unknown functionality. The manipulation leads to improperly controlled modification of object prototype attributes ('prototype pollution'). Th…

  • Medium 6.3

    Furqan node-whois index.coffee prototype pollution

    A vulnerability classified as critical has been found in Furqan node-whois. Affected is an unknown function of the file index.coffee. The manipulation leads to improperly controlled modification of object prototype attributes ('prototype pollution'). It is po…

  • Medium 5.5

    chbrown rfc6902 pointer.ts prototype pollution

    A vulnerability classified as problematic has been found in chbrown rfc6902. This affects an unknown part of the file pointer.ts. The manipulation leads to improperly controlled modification of object prototype attributes ('prototype pollution'). The exploit …

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

  • Critical 9.8
    CVE-2022-39396 EPSS 39%

    Parse Server vulnerable to Remote Code Execution via prototype pollution in MongoDB BSON parser

    Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Versions prior to 4.10.18, and prior to 5.3.1 on the 5.X branch, are vulnerable to Remote Code Execution via prototype pollution. An attacker can use this …

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