Mass assignment of server-controlled properties
Automatic request binding lets a user modify a property that should be set only by trusted server logic.
Candidate CWE: CWE-915
Test hypothesis#
In a disposable tenant, capture a permitted profile edit. Add one source/schema-confirmed protected field. Read back persisted state and check one corresponding restricted action, then restore it.
Evidence required#
The protected field is stored and changes authorization, ownership, verification, or another stated security invariant. Include the binding path when source is available.
Rule out false positives#
An echoed JSON field that is ignored, freely editable metadata, or a schema accepting arbitrary nonsecurity properties is insufficient.
Playbook and command references#
- Object, function, and property authorization — Turn identities, tenants, objects, roles, and lifecycle transitions into a reproducible permission matrix.
- Trace input into queries, commands, and templates — Prove interpretation at a specific sink using small paired experiments instead of payload spraying.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the mapping guide.