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

122 results · Clear filters · Feed

  • High 7.7
    CVE-2026-30822 EPSS 15%

    Flowise: Mass Assignment in `/api/v1/leads` Endpoint

    Flowise is a drag & drop user interface to build a customized large language model flow. Prior to version 3.0.13, unauthenticated users can inject arbitrary values into internal database fields when creating leads. This issue has been patched in version 3.0.1…

  • High 8.7

    Immutable.js: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') in immutable

    Immutable.js provides many Persistent Immutable data structures. Prior to versions 3.8.3, 4.3.7, and 5.1.5, Prototype Pollution is possible in immutable via the mergeDeep(), mergeDeepWith(), merge(), Map.toJS(), and Map.toObject() APIs. This issue has been pa…

  • High 8.8
    CVE-2025-15602 Public exploit

    Snipe-IT < 8.3.7 Mass Assignment Vulnerability Leading to Privilege Escalation

    Snipe-IT versions prior to 8.3.7 contain sensitive user attributes related to account privileges that are insufficiently protected against mass assignment. An authenticated, low-privileged user can craft a malicious API request to modify restricted fields of …

  • High 7.1

    Craft Affected by Entries Authorship Spoofing via Mass Assignment

    Craft is a content management system (CMS). Prior to 4.17.0-beta.1 and 5.9.0-beta.1, the entry creation process allows for Mass Assignment of the authorId attribute. A user with "Create Entries" permission can inject the authorIds[] (or authorId) parameter in…

  • High 7.5

    UmbracoForms Vulnerable to Remote Code Execution via Untrusted WSDL Compilation in Dynamic SOAP Client Generation

    In Umbraco UmbracoForms through 8.13.16, an authenticated attacker can supply a malicious WSDL (aka Webservice) URL as a data source for remote code execution.

  • High 8.2

    Mass Assignment in AdonisJS Lucid Allows Overwriting Internal ORM State

    @adonisjs/lucid is an SQL ORM for AdonisJS built on top of Knex. Prior to 21.8.2 and 22.0.0-next.6, there is a Mass Assignment vulnerability in AdonisJS Lucid which may allow a remote attacker who can influence data that is passed into Lucid model assignments…

  • High 7.1

    GraphQL IDOR allows authenticated user to delete workspace content of other users

    OpenCTI is an open source platform for managing cyber threat intelligence knowledge and observables. Prior to version 6.8.1, the GraphQL mutation "WorkspacePopoverDeletionMutation" allows users to delete workspace-related objects such as dashboards and invest…

  • High 7.6

    HCL MyXalytics product is affected by Mass Assignment vulnerability

    HCL MyXalytics: 6.6.  is affected by Mass Assignment vulnerability. Mass Assignment occurs when user input is automatically bound to application objects without proper validation or access controls, potentially allowing unauthorized modification of sensitive …

  • High 7.5

    Drupal core - Moderately critical - Gadget Chain - SA-CORE-2025-003

    Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerability in Drupal Drupal core allows Object Injection.This issue affects Drupal core: from 8.0.0 before 10.3.13, from 10.4.0 before 10.4.3, from 11.0.0 before 11.0.12, from 1…

  • High 8.1

    Mesop Class Pollution vulnerability leads to DoS and Jailbreak attacks

    Mesop is a Python-based UI framework that allows users to build web applications. A class pollution vulnerability in Mesop prior to version 0.14.1 allows attackers to overwrite global variables and class attributes in certain Mesop modules during runtime. Thi…

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

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

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

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

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

  • High 8.6

    Prototype Pollution

    This affects all versions of package x-assign. The global proto object can be polluted using the __proto__ object.

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

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

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

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

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

  • High 7.3

    Prototype Pollution

    All versions of package merge are vulnerable to Prototype Pollution via _recursiveMerge .

  • High 7.2

    Prototype Pollution in Dynamoose

    Dynamoose is an open-source modeling tool for Amazon's DynamoDB. In Dynamoose from version 2.0.0 and before version 2.7.0 there was a prototype pollution vulnerability in the internal utility method "lib/utils/object/set.ts". This method is used throughout th…

  • High 7.3
    CVE-2020-7774 EPSS 70%

    Prototype Pollution

    The package y18n before 3.2.2, 4.0.1 and 5.0.5, is vulnerable to Prototype Pollution.

  • High 7.5

    Prototype Pollution

    The package grpc before 1.24.4; the package @grpc/grpc-js before 1.1.8 are vulnerable to Prototype Pollution via loadPackageDefinition.

  • High 7.5

    Prototype Pollution

    This affects the package chart.js before 2.9.4. The options parameter is not properly sanitized when it is processed. When the options are processed, the existing options (or the defaults options) are deeply merged with provided options. However, during this …

  • High 7.3

    Prototype Pollution

    The package mathjs before 7.5.1 are vulnerable to Prototype Pollution via the deepExtend function that runs upon configuration updates.

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

    Prototype Pollution

    In all versions of package casperjs, the mergeObjects utility function is susceptible to Prototype Pollution.

  • High 8.7

    Improperly Controlled Modification of Dynamically-Determined Object Attributes in TYPO3 CMS

    In TYPO3 CMS greater than or equal to 9.0.0 and less than 9.5.17 and greater than or equal to 10.0.0 and less than 10.4.2, calling unserialize() on malicious user-submitted content can lead to modification of dynamically-determined object attributes and resul…

  • High 8.1

    Uncontrolled Resource Consumption in fun-map

    fun-map through 3.3.1 is vulnerable to Prototype Pollution. The function assocInM could be tricked into adding or modifying properties of 'Object.prototype' using a '__proto__' payload.

  • High 8.8

    Improperly Controlled Modification of Dynamically-Determined Object Attributes in utilitify

    utilitify prior to 1.0.3 allows modification of object properties. The merge method could be tricked into adding or modifying properties of the Object.prototype.

  • High 7.5

    angular Prototype Pollution vulnerability

    In AngularJS before 1.7.9 the function `merge()` could be tricked into adding or modifying properties of `Object.prototype` using a `__proto__` payload.