Cerebrate before v1.37 allows mass assignment of record identifiers during object creation
Cerebrate before version 1.37 contains a mass-assignment vulnerability in the generic CRUD add path. The add() handler attempted to remove an attacker-supplied id from $params before normalizing the request through __massageInput(). Because the normalized $input could still contain an id field, a user able to reach an affected add endpoint could supply an identifier that should have been server-controlled.
Successful exploitation could allow creation of objects with attacker-chosen identifiers, potentially causing unauthorized data manipulation, object spoofing, inconsistent references, or disruption through identifier collisions, depending on the affected model and endpoint permissions. The issue was fixed in v1.37 by removing id from the normalized input before entity patching.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-20 | CWE-20 Improper Input Validation |
Type: CWE
Description: CWE-20 Improper Input Validation
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 4.0 | 8.7 | HIGH | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:L/SA:N/U:Amber |
Version: 4.0
Base score: 8.7
Base severity: HIGH
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:L/SA:N/U:Amber
Impacts
| CAPEC ID | Description |
|---|
| CAPEC-77 | CAPEC-77 Manipulating User-Controlled Variables |
Description: CAPEC-77 Manipulating User-Controlled Variables