Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CWE-915 — Vulnerability Class 107

107 vulnerabilities classified as CWE-915. AI Chinese analysis included.

CWE-915 represents a critical input validation weakness where software fails to restrict which object attributes can be modified based on external input. Attackers typically exploit this by injecting malicious data that targets internal or privileged properties, such as access control flags or system configuration settings, rather than intended user-facing fields. This unauthorized modification can bypass security mechanisms, escalate privileges, or cause denial of service by corrupting the object’s internal state. To prevent this vulnerability, developers must implement strict allow-lists that explicitly define permissible attributes for modification, ensuring that only expected fields are updated. Additionally, employing robust serialization frameworks with built-in validation and conducting thorough code reviews to identify dynamic attribute assignment patterns are essential strategies for mitigating this risk and maintaining application integrity.

MITRE CWE Description
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. If the object contains attributes that were only intended for internal use, then their unexpected modification could lead to a vulnerability. This weakness is sometimes known by the language-specific mechanisms that make it possible, such as mass assignment, autobinding, or object injection.
Common Consequences (3)
Integrity Modify Application Data
An attacker could modify sensitive data or program variables.
Integrity Execute Unauthorized Code or Commands
Other, Integrity Varies by Context, Alter Execution Logic
Mitigations (4)
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.
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.
Implementation For any externally-influenced input, check the input against an allowlist of internal object attributes or fields that are allowed to be modified.
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.
Examples (1)
This function sets object attributes based on a dot-separated path.
function setValueByPath (object, path, value) { const pathArray = path.split("."); const attributeToSet = pathArray.pop(); let objectToModify = object; for (const attr of pathArray) { if (typeof objectToModify[attr] !== 'object') { objectToModify[attr] = {}; } objectToModify = objectToModify[attr]; } objectToModify[attributeToSet] = value; return object; }
Bad · JavaScript
setValueByPath({}, "__proto__.isAdmin", true) setValueByPath({}, "constructor.prototype.isAdmin", true)
Bad · JavaScript
CVE ID Title CVSS Severity Published
CVE-2026-72710 SPIP < 4.4.18 Remote Code Execution via editer_objet.php Job Queue Injection — SPIP 9.8 Critical 2026-09-11
CVE-2026-85408 Eleveo Quality Management Conversation events dynamically-determined object attributes — Quality Management 4.3 Medium 2026-09-04
CVE-2026-84430 gouguoa edit_personal Endpoint Index.php update dynamically-determined object attributes — gouguoa 6.3 Medium 2026-09-02
CVE-2026-78038 Job argument injection via :args overrides primary_key and tenant in AshOban — ash_oban 5.9 Medium 2026-08-30
CVE-2026-77144 Broken Access Control in extension "Events 2" (events2) — Extension "Events 2" 7.1 High 2026-08-25
CVE-2026-78416 Authenticated RCE via `condition.config` JSON cleanse bypass — cms 8.7 High 2026-08-24
CVE-2026-62315 Frappe: Mass assignment via set_value — frappe 7.1 High 2026-08-20
CVE-2026-49428 posixshm: system calls can incorrectly free memory of largepage objects — FreeBSD - - 2026-08-19
CVE-2026-72655 Improperly Controlled Modification of Dynamically-Determined Object Attributes in Kibana Leading to Unauthorized Data Modification — Kibana 4.3 Medium 2026-08-13
CVE-2026-71473 Acm-search-v2-rhel9: search-v2-operator: addonfactory.getvaluesfromaddonannotation enables arbitrary helm-values override per spoke — Red Hat Advanced Cluster Management for Kubernetes 2.11 8.5 High 2026-08-12
CVE-2026-17095 IBM i is Affected By Multiple Vulnerabilities in Navigator for i — i 8.3 High 2026-08-12
CVE-2026-72778 Craft CMS 5.0.0-RC1 before 5.10.6 Authenticated RCE via condition.config — cms 8.8 High 2026-08-11
CVE-2026-18617 Data-science-pipelines-operator: dspo: mysql dsn parameter injection via customextraparams enables local infile file exfiltration from operator pod — Red Hat OpenShift AI 2.25 8.8 High 2026-08-10
CVE-2026-72719 Chatwoot: Cross-Account Resource Transfer via `account_id` Parameter — chatwoot 6.7 Medium 2026-08-10
CVE-2026-17598 Nexus Repository 3 - Improper Input Validation in Scheduled Task Configuration — Nexus Repository 3 5.3 Medium 2026-08-07
CVE-2026-12436 Improperly Controlled Modification of Dynamically-Determined Object Attributes in GitLab — GitLab 8.4 High 2026-07-29
CVE-2026-63102 rConfig Core < 8.2.8 Privilege Escalation via Users API role field — rConfig v8 Core 5.4 Medium 2026-07-20
CVE-2026-56679 9Router: Mass assignment in PATCH /api/settings allows authenticated authorization downgrade — 9router - - 2026-07-15
CVE-2026-59888 jackson-databind: @JsonIgnore on a Record property is bypassed with a PropertyNamingStrategy — jackson-databind 6.5 Medium 2026-07-14
CVE-2026-58477 Sustainable Irrigation Platform 5.2.16 Mass Assignment via HTTP Parameters — SIP 8.2 High 2026-07-14
CVE-2026-55804 Drupal core - Moderately critical - Gadget chain - SA-CORE-2026-006 — Drupal core - - 2026-07-10
CVE-2026-55803 Drupal core - Critical - PHP object injection - SA-CORE-2026-005 — Drupal core - - 2026-07-10
CVE-2026-15083 ECA: Event - Condition - Action - Less critical - Information disclosure - SA-CONTRIB-2026-074 — ECA: Event - Condition - Action - - 2026-07-10
CVE-2026-13244 Tealium iQ Tag Management - Critical - PHP object injection - SA-CONTRIB-2026-064 — Tealium iQ Tag Management - - 2026-07-10
CVE-2026-55810 Plotly.js Graphing - Critical - PHP object injection - SA-CONTRIB-2026-050 — Plotly.js Graphing - - 2026-07-10
CVE-2026-55809 Flag attendance field - Critical - PHP object injection - SA-CONTRIB-2026-049 — Flag attendance field - - 2026-07-10
CVE-2026-12535 Formatter Field - Critical - PHP object injection - SA-CONTRIB-2026-048 — Formatter Field - - 2026-07-10
CVE-2026-9726 Drupal AlternativeCommerce (Basket) - Highly critical - Arbitrary PHP code execution - SA-CONTRIB-2026-038 — Drupal AlternativeCommerce (Basket) - - 2026-07-10
CVE-2026-54601 FastGPT: reTrainingCollection allows server-owned datasetId override causing cross-tenant authorization confusion — FastGPT 6.3 Medium 2026-07-07
CVE-2026-43925 FOSSBilling: Mass assignment of group_id in guest client registration allows unauthorized promo code use — FOSSBilling - - 2026-07-06

Vulnerabilities classified as CWE-915 represent 107 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.