Skip to content
OpenAdvisories

Weakness (CWE)

CWE-915: Improperly Controlled Modification of Dynamically-Determined Object Attributes

Base Incomplete

The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.

How to prevent it (4 mitigations)
  1. Implementation

    If available, use features of the language or framework that allow specification of allowlists of attributes or fields that are allowed to be modified. If possible, prefer allowlists over denylists.

    For applications written with Ruby on Rails, use the attr_accessible (allowlist) or attr_protected (denylist) macros in each class that may be used in mass assignment.

  2. Architecture and Design, Implementation

    If available, use the signing/sealing features of the programming language to assure that deserialized data has not been tainted. For example, a hash-based message authentication code (HMAC) could be used to ensure that data has not been modified.

  3. Implementation

    For any externally-influenced input, check the input against an allowlist of internal object attributes or fields that are allowed to be modified.

  4. Implementation, Architecture and Design

    Refactor the code so that object attributes or fields do not need to be dynamically identified, and only expose getter/setter functionality for the intended attributes.

Source: MITRE CWE-915

278 results · Feed

  • Critical 9.8
    CVE-2024-5452 Public exploit EPSS 27%

    RCE via Property/Class Pollution in lightning-ai/pytorch-lightning

    A remote code execution (RCE) vulnerability exists in the lightning-ai/pytorch-lightning library version 2.2.1 due to improper handling of deserialized user input and mismanagement of dunder attributes by the `deepdiff` library. The library uses `deepdiff.Del…

  • Critical 9.1

    Mass Assignment Vulnerability in mintplex-labs/anything-llm

    A mass assignment vulnerability exists in the `/api/invite/:code` endpoint of the mintplex-labs/anything-llm repository, allowing unauthorized creation of high-privileged accounts. By intercepting and modifying the HTTP request during the account creation pro…

  • High 7.2

    Privilege Escalation via Mass Assignment in mintplex-labs/anything-llm

    A vulnerability in mintplex-labs/anything-llm allows users with manager roles to escalate their privileges to admin roles through a mass assignment issue. The '/admin/system-preferences' API endpoint improperly authorizes manager-level users to modify the 'mu…

  • Medium 5.3

    MXsecurity Register Database Pollution

    A vulnerability that poses a potential risk of polluting the MXsecurity sqlite database and the nsm-web UI has been identified in MXsecurity versions prior to v1.0.1. This vulnerability might allow an unauthenticated remote attacker to register or add devices…

  • High 8.8

    Netmaker Privilige Escalation Vulnerability

    Netmaker makes networks with WireGuard. A Mass assignment vulnerability was found in versions prior to 0.17.1 and 0.18.6 that allows a non-admin user to escalate privileges to those of an admin user. The issue is patched in 0.17.1 and fixed in 0.18.6. If User…

  • Unscored —

    The recovery mode for updates has a vulnerability that causes arbitrary disk modification. Successful exploitation of t…

  • High 8.1

    sqlite vulnerable to code execution due to Object coercion

    A code execution vulnerability exists in the Statement Bindings functionality of Ghost Foundation node-sqlite3 5.1.1. A specially-crafted Javascript file can lead to arbitrary code execution. An attacker can provide malicious input to trigger this vulnerabili…

  • Medium 6.8

    Server-Side Request Forgery

    Server-Side Request Forgery (SSRF), Improperly Controlled Modification of Dynamically-Determined Object Attributes, Improper Restriction of Excessive Authentication Attempts vulnerability in YugaByte, Inc. Yugabyte Managed allows Accessing Functionality Not P…

  • High 7.6
    CVE-2022-4068 EPSS 38%

    Improperly Controlled Modification of Dynamically-Determined Object Attributes in librenms/librenms

    A user is able to enable their own account if it was disabled by an admin while the user still holds a valid session. Moreover, the username is not properly sanitized in the admin user overview. This enables an XSS attack that enables an attacker with a low p…

  • Unscored —

    A vulnerability was found in PostgreSQL. This attack requires permission to create non-temporary objects in at least on…

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

    Prototype Pollution in deepmerge-ts

    deepmerge-ts is a typescript library providing functionality to deep merging of javascript objects. deepmerge-ts is vulnerable to Prototype Pollution via file deepmerge.ts, function defaultMergeRecords(). This issue has been patched in version 4.0.2. There ar…

  • 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')

  • 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
    CVE-2021-41097 Scanner template

    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 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')

  • 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')

  • 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

    All versions of package merge-change are vulnerable to Prototype Pollution via the utils.set function.

  • 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

    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.

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

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

  • Critical 9.8

    set-getter Prototype Pollution Vulnerability

    Prototype pollution vulnerability in 'set-getter' version 0.1.0 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype Pollution

    Prototype pollution vulnerability in 'expand-hash' versions 0.1.0 through 1.0.1 allows an attacker to cause a denial of service and may lead to remote code execution.

  • Critical 9.8

    Prototype pollution vulnerability in js-extend

    Prototype pollution vulnerability in 'js-extend' versions 0.0.1 through 1.0.1 allows attacker to cause a denial of service and may lead to remote code execution.

  • Medium 6.7

    Prototype poisoning

    msgpack5 is a msgpack v5 implementation for node.js and the browser. In msgpack5 before versions 3.6.1, 4.5.1, and 5.2.1 there is a "Prototype Poisoning" vulnerability. When msgpack5 decodes a map containing a key "__proto__", it assigns the decoded value to …

  • Critical 9.8

    qcubed PHP object injection

    A PHP object injection bug in profile.php in qcubed (all versions including 3.1.1) unserializes the untrusted data of the POST-variable "strProfileData" and allows an unauthenticated attacker to execute code via a crafted POST request.

  • High 7.7

    Prototype Pollution in Node-Red

    Node-Red is a low-code programming for event-driven applications built using nodejs. Node-RED 1.2.7 and earlier contains a Prototype Pollution vulnerability in the admin API. A badly formed request can modify the prototype of the default JavaScript Object wit…

  • Critical 9.1

    Autobinding vulnerability in MITREid Connect

    org/mitre/oauth2/web/OAuthConfirmationController.java in the OpenID Connect server implementation for MITREid Connect through 1.3.3 contains a Mass Assignment (aka Autobinding) vulnerability. This arises due to unsafe usage of the @ModelAttribute annotation d…