CRUD: Unverified Password Change
CVE-2026-54175 is a high-severity unverified password change vulnerability in CRUD from Laravel-Backpack, with a CVSS 3.1 base score of 7.6 out of 10. It can be exploited remotely over the network by an attacker with a low-privileged account, without any action from a user. Affected CRUD versions: < 6.8.11; >= 7.0.0, < 7.0.34. The record does not name a fixed version, so check the vendor advisory. There is no confirmed exploitation so far. EPSS estimates a 0.55% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Check which version of CRUD you run against the affected versions below, and install the vendor's latest release.
- Read the advisory on github.com for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Laravel-Backpack | CRUD | < 6.8.11; >= 7.0.0, < 7.0.34 | Not stated |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- NetworkCan be exploited remotely over a network, including the internet.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- LowA basic user account is enough.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- LowSome restricted data can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- LowPerformance or availability is reduced.
Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L. Scored by CNA (github.com).
Official description
backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. Prior to 6.8.11 and 7.0.34, MyAccountController::postAccountInfoForm in src/app/Http/Controllers/MyAccountController.php at POST /admin/edit-account-info passes request data from $request->except(['_token']) to the user model instead of restricting updates to fields accepted by AccountInfoRequest::validationData(). An attacker with an authenticated Backpack session can therefore mass-assign password, the authentication column, or other deployment-specific fillable attributes. With the default Laravel 11 user model, a submitted plaintext password is automatically hashed and persisted, converting temporary session access into persistent account takeover without the old_password check enforced by the separate password-change route. Changing the authentication email can also enable later password-reset takeover, while additional fillable security attributes can permit deployment-specific privilege escalation or security-control changes. This issue is fixed in versions 6.8.11 and 7.0.34.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Unverified Password Change
When setting a new password for a user, the product does not require knowledge of the original password, or using another form of authentication.
How developers prevent this class of flaw
- When prompting for a password change, force the user to provide the original password in addition to the new password.
- Do not use forgotten password functionality. But if you must, ensure that you are only providing information to the actual user, e.g. by using an email address or challenge question that the legitimate user already provided in the past; do not allow the current user to change this identity information until the correct password has been provided.
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: partial).
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- github.com/Laravel-Backpack/CRUD/commit/0d7a2820a0a356fde94c13a2db78bbe44393f0e7
- github.com/Laravel-Backpack/CRUD/commit/ffe9a43ed006d0667e52997036c05ac0bc06cf91
- github.com/Laravel-Backpack/CRUD/pull/5980
- github.com/Laravel-Backpack/CRUD/pull/5981
- github.com/Laravel-Backpack/CRUD/releases/tag/6.8.11
- github.com/Laravel-Backpack/CRUD/releases/tag/7.0.34
Other vulnerabilities in CRUD
- 8.1 High severity
- 7.6 High severity
- 8.1 High severity
Recent Unverified Password Change vulnerabilities
- 7.1 High severity
- 8.1 High severity
- 7.2 High severity
- 9.8 Critical severity
- 9.8 Critical severity
- 8.3 High severity
Spotted an error? Tell us.