Laravel Backpack CRUD Mass Assignment Vulnerability
An authenticated mass-assignment vulnerability in Laravel Backpack CRUD allows an attacker with a session to update arbitrary user model attributes, leading to password reset, email hijacking, or privilege escalation.
Laravel Backpack CRUD, a popular administration panel package for Laravel, contains a critical mass-assignment vulnerability (CVE-2026-54175) in the MyAccountController::postAccountInfoForm method. The controller updates the current user's profile by passing $request->except(['_token']) directly to the update() method of the Eloquent user model. Because this approach lacks an allowlist, any database column present in the user model's $fillable array can be overwritten by the request body.
This vulnerability is particularly dangerous for applications using default Laravel user models where password is marked as fillable. An attacker who has hijacked an active administrator session (e.g., via session token theft or residual access on a shared workstation) can POST arbitrary password data to the /admin/edit-account-info endpoint. Unlike the dedicated password change route, this endpoint does not enforce the verification of the current password. Successful exploitation transforms a transient session into persistent account takeover. The flaw also facilitates privilege escalation if other security-sensitive fields (e.g., role_id, is_admin) are defined as fillable.
Impact
Successful exploitation results in unauthorized account modification, enabling persistent account takeover without knowledge of the victim's credentials. Attackers can also redirect administrative traffic by modifying the email field to trigger future password resets or elevate their own privileges by modifying authorization-related columns if they are present in the model's fillable definition. The scope of impact is limited to authenticated users; however, it effectively bypasses multi-factor and password-verification controls intended for security-sensitive account changes.
Recommendation
- Patch immediately by upgrading
backpack/crudto versions>= 6.8.11or>= 7.0.34. - For applications where immediate patching is not possible, override the
MyAccountControlleror implement a middleware to sanitize the incoming request topostAccountInfoFormusing an explicit$request->only()allowlist for fields such asnameand the email attribute. - Review the
App\Models\Usermodel to ensure that security-sensitive attributes likerole_id,is_admin, ortwo_factor_secretare not included in the$fillablearray.
Immediate actions
Upgrade backpack/crud to versions >= 6.8.11 or >= 7.0.34
Mitigations
Review App\Models\User $fillable array for sensitive fields
CVE-2026-54175