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

12 results · Clear filters · Feed

  • High 8.1
    CVE-2026-85625 Public exploit

    sift 17.1.3 Prototype Pollution Remote Code Execution via $where

    sift (sift.js) 17.1.3 enumerates query keys with for...in, which walks the object prototype chain, and dispatches any matched operator key including $where. The $where operation compiles a string value into a function using new Function unless CSP_ENABLED is …

  • High 7.5
    CVE-2026-8161 Public exploit

    multiparty vulnerable to Denial of Service via Prototype Pollution leading to Uncaught Exception

    multiparty@4.2.3 and lower versions are vulnerable to denial of service via uncaught exception. By sending a multipart/form-data request with a field name that collides with an inherited Object.prototype property such as __proto__, constructor, or toString, t…

  • High 8.6
    CVE-2026-34621 Exploited Public exploit

    Acrobat Reader | Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') (CWE-1321)

    Acrobat Reader versions 24.001.30356, 26.001.21367 and earlier are affected by an Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') vulnerability that could result in arbitrary code execution in the context of the curre…

    KEV Apr 13, 2026
  • 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…

  • 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 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 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.3
    CVE-2020-28458 Public exploit

    Prototype Pollution

    All versions of package datatables.net are vulnerable to Prototype Pollution due to an incomplete fix for https://snyk.io/vuln/SNYK-JS-DATATABLESNET-598806.

  • High 7.5
    CVE-2020-7699 Public exploit

    Prototype Pollution

    This affects the package express-fileupload before 1.1.8. If the parseNested option is enabled, sending a corrupt HTTP request can lead to denial of service or arbitrary code execution.

  • High 7.4
    CVE-2020-8203 Public exploit

    Prototype Pollution in lodash

    Prototype pollution attack when using _.zipObjectDeep in lodash before 4.17.20.

  • High 8.5
    CVE-2019-16328 Public exploit EPSS 13%

    Dynamic modification of RPyC service due to missing security check

    In RPyC 4.1.x through 4.1.1, a remote attacker can dynamically modify object attributes to construct a remote procedure call that executes code for an RPyC service with default configuration settings.