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

    adolph_dudu ratio-swiper was discovered to contain a prototype pollution via the function extendDefaults

    adolph_dudu ratio-swiper v0.0.2 was discovered to contain a prototype pollution via the function extendDefaults. This vulnerability allows attackers to execute arbitrary code or cause a Denial of Service (DoS) via injecting arbitrary properties.

  • High 8.3

    Object Resolver Prototype Pollution

    apphp js-object-resolver < 3.1.1 is vulnerable to Prototype Pollution via Module.setNestedProperty.

  • Critical 9.8

    object-deep-assign Prototype Pollution

    alexbinary object-deep-assign 1.0.11 is vulnerable to Prototype Pollution via the extend() method of Module.deepAssign (/src/index.js)

  • Medium 6.3

    flatten-json Prototype Pollution

    A Prototype Pollution issue in flatten-json 1.0.1 allows an attacker to execute arbitrary code via module.exports.unflattenJSON (flatten-json/index.js:42)

  • High 8.1

    A Prototype Pollution issue in byondreal accessor <= 1.0.0 allows an attacker to execute arbitrary code via @byondreal/…

  • Critical 9.8

    @cdr0/sg Prototype Pollution

    A Prototype Pollution issue in cdr0 sg 1.0.10 allows an attacker to execute arbitrary code.

  • Critical 9.8

    obx Prototype Pollution

    almela obx before v.0.0.4 has a Prototype Pollution issue which allows arbitrary code execution via the obx/build/index.js:656), reduce (@almela/obx/build/index.js:470), Object.set (obx/build/index.js:269) component.

  • Medium 5.9

    @akbr/update Prototype Pollution

    akbr update 1.0.0 is vulnerable to Prototype Pollution via update/index.js.

  • High 7.6

    Badger Database Prototype Pollution

    A Prototype Pollution issue in abw badger-database 1.2.1 allows an attacker to execute arbitrary code via dist/badger-database.esm.

  • High 8.2

    mysql2 vulnerable to Prototype Pollution

    Versions of the package mysql2 before 3.9.8 are vulnerable to Prototype Pollution due to improper user input sanitization passed to fields and tables when using nestTables.

  • High 8.8

    MiguelCastillo @bit/loader Prototype Pollution issue

    A Prototype Pollution issue in MiguelCastillo @bit/loader v.10.0.3 allows an attacker to execute arbitrary code via the M function e argument in index.js.

  • High 8.1

    json-schema-ref-parser Prototype Pollution issue

    A Prototype Pollution issue in API Dev Tools json-schema-ref-parser v.11.0.0 and v.11.1.0 allows a remote attacker to execute arbitrary code via the bundle()`, `parse()`, `resolve()`, `dereference() functions.

  • Critical 9.8

    Blackprint @blackprint/engine Prototype Pollution issue

    A Prototype Pollution issue in Blackprint @blackprint/engine v.0.9.0 allows an attacker to execute arbitrary code via the _utils.setDeepProperty function of engine.min.js.

  • Medium 5.9

    njwt Prototype Pollution vulnerability

    njwt up to v0.4.0 was discovered to contain a prototype pollution in the Parser.prototype.parse method.

  • Medium 4.6

    Prototype Pollution in getQueryParam Function (URL Query Parser)

    FreeScout is a free, self-hosted help desk and shared mailbox. Versions of FreeScout prior to 1.8.139 contain a Prototype Pollution vulnerability in the `/public/js/main.js` source file. The Prototype Pollution arises because the `getQueryParam` Function recu…

  • Medium 6.8

    Jenkins Subversion Partial Release Manager Plugin programmatically disables the fix for CVE-2016-3721

    Jenkins Subversion Partial Release Manager Plugin 1.0.1 and earlier programmatically disables the fix for CVE-2016-3721 whenever a build is triggered from a release tag, by setting the Java system property 'hudson.model.ParametersAction.keepUndefinedParameter…

  • Medium 4.0
    CVE-2024-33883 Public exploit

    ejs lacks certain pollution protection

    The ejs (aka Embedded JavaScript templates) package before 3.1.10 for Node.js lacks certain pollution protection.

  • High 8.6

    Conform contains Prototype Pollution Vulnerability in `parseWith...` function

    Conform, a type-safe form validation library, allows the parsing of nested objects in the form of `object.property`. Due to an improper implementation of this feature in versions prior to 1.1.1, an attacker can exploit the feature to trigger prototype polluti…

  • Critical 9.8

    @andrei-tatar/nora-firebase-common Prototype Pollution vulnerability

    An issue inandrei-tatar nora-firebase-common between v.1.0.41 and v.1.12.2 allows a remote attacker to execute arbitrary code via a crafted script to the updateState parameter of the updateStateInternal method.

  • Low —

    Prototype pollution in emit function

    ### Summary A prototype pollution in derby can crash the application, if the application author has atypical HTML templates that feed user input into an object key. Attribute keys are almost always developer-controlled, not end-user-controlled, so this should…

  • Medium 6.5

    mysql2 vulnerable to Prototype Poisoning

    Versions of the package mysql2 before 3.9.4 are vulnerable to Prototype Poisoning due to insecure results object creation and improper user input sanitization passed through parserFn in text_parser.js and binary_parser.js.

  • High 7.5

    web3-utils Prototype Pollution vulnerability

    Versions of the package web3-utils before 4.2.1 are vulnerable to Prototype Pollution via the utility functions format and mergeDeep, due to insecure recursive merge. An attacker can manipulate an object's prototype, potentially leading to the alteration of t…

  • Critical 9.8

    @thi.ng/paths Prototype Pollution vulnerability

    An issue in @thi.ng/paths v.5.1.62 and before allows a remote attacker to execute arbitrary code via the mutIn and mutInManyUnsafe components.

  • Medium 5.2

    Cryptographic key in plain text vulnerability in FriendlyElec's FriendlyWrt

    Cryptographic key vulnerability encoded in the FriendlyWrt firmware affecting version 2022-11-16.51b3d35. This vulnerability could allow an attacker to compromise the confidentiality and integrity of encrypted data.

  • Critical 9.8

    JSONata expression can pollute the "Object" prototype

    JSONata is a JSON query and transformation language. Starting in version 1.4.0 and prior to version 1.8.7 and 2.0.4, a malicious expression can use the transform operator to override properties on the `Object` constructor and prototype. This may lead to denia…

  • Medium 6.3
    CVE-2024-23339 Public exploit

    hoolock does not block Prototype pollution with object-path related utilities

    hoolock is a suite of lightweight utilities designed to maintain a small footprint when bundled. Starting in version 2.0.0 and prior to version 2.2.1, utility functions related to object paths (`get`, `set`, and `update`) did not block attempts to access or a…

  • High 7.5

    QTS, QuTS hero

    A prototype pollution vulnerability has been reported to affect several QNAP operating system versions. If exploited, the vulnerability could allow users to override existing attributes with ones that have incompatible type, which may lead to a crash via a ne…

  • Critical 9.8

    plotly.js prototype pollution vulnerability

    In Plotly plotly.js before 2.25.2, plot API calls have a risk of __proto__ being polluted in expandObjectPaths or nestedProperty.

  • High 8.2

    mockjs vulnerable to Prototype Pollution via the Util.extend function

    All versions of the package mockjs are vulnerable to Prototype Pollution via the Util.extend function due to missing check if the attribute resolves to the object prototype. By adding or modifying attributes of an object prototype, it is possible to create at…

  • High 7.5

    Prototype Pollution in robinbuschmann/sequelize-typescript

    Prototype Pollution in GitHub repository robinbuschmann/sequelize-typescript prior to 2.1.6.

  • High 7.3
    CVE-2023-45827 Public exploit

    Prototype Pollution vulnerability in @clickbar/dot-diver

    Dot diver is a lightweight, powerful, and dependency-free TypeScript utility library that provides types and functions to work with object paths in dot notation. In versions prior to 1.0.2 there is a Prototype Pollution vulnerability in the `setByPath` functi…

  • Critical 9.6

    Bitrix24 Cross-Site Scripting (XSS) via Client-side Prototype Pollution

    Prototype pollution in bitrix/templates/bitrix24/components/bitrix/menu/left_vertical/script.js in Bitrix24 22.0.300 allows remote attackers to execute arbitrary JavaScript code in the victim’s browser, and possibly execute arbitrary PHP code on the server if…

  • High 8.2

    Prototype pollution vulnerability leading to arbitrary code execution in synchrony deobfuscator

    Synchrony deobfuscator is a javascript cleaner & deobfuscator. A `__proto__` pollution vulnerability exists in versions before v2.4.4. Successful exploitation could lead to arbitrary code execution. A `__proto__` pollution vulnerability exists in the `Literal…

  • Critical 10.0

    Prototype Pollution in ali-security/mongoose

    ### Impact This vulnerability causes a Prototype Pollution in document.js, through functions such as findByIdAndUpdate(). For applications using Express and EJS, this can potentially allow remote code execution. ### Patches The original patched version for mo…

  • High 7.5

    Prototype Pollution in NASA Open MCT

    In NASA Open MCT (aka openmct) before 3.1.0, prototype pollution can occur via an import action.

  • Critical 9.8

    tree-kit Prototype Pollution vulnerability

    A Prototype Pollution issue in Cronvel Tree-kit v.0.7.4 and before allows a remote attacker to execute arbitrary code via the extend function.

  • Critical 9.8

    MrSwitch hello.js vulnerable to prototype pollution

    Prototype pollution vulnerability in MrSwitch hello.js version 1.18.6, allows remote attackers to execute arbitrary code via hello.utils.extend function.

  • High 7.5

    underscore-keypath vulnerable to Prototype Pollution

    Versions of the package underscore-keypath from 0.0.11 are vulnerable to Prototype Pollution via the name argument of the setProperty() function. Exploiting this vulnerability is possible due to improper input sanitization which allows the usage of arguments …

  • Critical 10.0

    Prototype Pollution in automattic/mongoose

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

  • Critical 9.8

    protobufjs Prototype Pollution vulnerability

    "protobuf.js (aka protobufjs) 6.10.0 through 7.x before 7.2.5 allows Prototype Pollution, a different vulnerability than CVE-2022-25878. A user-controlled protobuf message can be used by an attacker to pollute the prototype of Object.prototype by adding and o…