CVE-2026-54180 json
backpack/crud: CRUD panel query scopes are not enforced on Update, Delete, and Reorder (cross-tenant IDOR)
published 2026-08-20 2 mo ago modified 2026-09-30 39 d ago also EUVD-2026-77717 , GHSA-vgmv-8xjc-6rch
- cvss
- 7.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known
Summary
backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. From 6.0.0 until 6.8.14 and 7.0.38, the Update, Delete, and Reorder operations resolve records from the unscoped model query instead of the query configured through addClause() or addBaseClause(). An authenticated user who knows or guesses an out-of-scope record primary key can therefore modify, delete, or reorder records hidden by tenant, ownership, or other row-level access-control scopes. Applications that do not rely on CRUD query clauses for authorization are not affected by this specific bypass. The fix routes all three write operations through getModelWithCrudPanelQuery(), matching the scoped list and read behavior. This issue is fixed in versions 6.8.14 and 7.0.38.
Patch / fix
- packagist backpack/crud 6.8.14, 7.0.38
- backpackforlaravel backpack\crud 6.8.14, 7.0.38
- github.com/Laravel-Backpack/CRUD@76c3a6e commit
- github.com/Laravel-Backpack/CRUD@dd25c20 commit
- github.com/Laravel-Backpack/CRUD#5991 pull request
- github.com/Laravel-Backpack/CRUD#5994 pull request
- github.com/Laravel-Backpack/CRUD/releases/tag/6.8.14 release
- github.com/Laravel-Backpack/CRUD/releases/tag/7.0.38 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 55 d ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L |
| GitHub | 3.1 | 7.6 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | backpack/crud | >=6.0.0, <6.8.14 >=7.0.0, <7.0.38 |
6.8.14 7.0.38 |
Affected products
- Laravel-Backpack CRUD
Classification
References
- github.com /Laravel-Backpack/CRUD/pull/5991
- github.com /Laravel-Backpack/CRUD/pull/5994
- github.com /Laravel-Backpack/CRUD/commit/76c3a6e50e3fbd6d5f633208da5b04acb8322969
- github.com /Laravel-Backpack/CRUD/commit/dd25c2086b8ea2cb765993b65876c66ab824eef0
-
github.com
/Laravel-Backpack/CRUD/security/advisories/GHSA-vgmv-8xjc-6rch
web
-
github.com
/Laravel-Backpack/CRUD/releases/tag/6.8.14
web
-
github.com
/Laravel-Backpack/CRUD/releases/tag/7.0.38
web
-
github.com
/Laravel-Backpack/CRUD
package
Sources
- CVE List CVE-2026-54180
- GitHub Advisory GHSA-vgmv-8xjc-6rch
- NVD CVE-2026-54180
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.