Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege authenticated session
-
DeliveryIdentify target CRUD panel write endpoint
-
ExploitEnumerate cross-tenant record primary keys
-
ExecutionSubmit crafted write request with out-of-scope primary key
-
PersistUnscoped query resolves unauthorized record
-
ImpactModify or delete cross-tenant data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Exploitation requires three concurrent conditions: first, the target Backpack CRUD panel must use addBaseClause() or addClause() to implement row-level scope restrictions such as tenant isolation or per-user ownership - panels that do not register any such clauses are not affected by this bypass; second, the attacker must hold a valid authenticated session with access to the affected CRUD panel (CVSS PR:L confirms low-privilege authentication is sufficient, not unauthenticated access); third, the attacker must know or be able to enumerate the primary key of a target record, which is trivially achievable against sequential integer IDs via simple iteration. Limiting factors include: applications using UUID or other non-sequential primary key schemes increase the guessing burden; applications with supplementary Laravel Gate or Policy checks on the controller methods remain protected even on unpatched versions; and unauthenticated attackers cannot reach the write endpoints. |
| Impact | The CVSS 3.1 score of 7.6 (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L) accurately reflects the threat profile: network-accessible, low-complexity exploitation requiring only a valid low-privilege session, with high integrity impact from unrestricted cross-tenant write access. The confidentiality impact is appropriately rated Low rather than High because the read path is correctly scoped - the attacker cannot directly read unauthorized records through this flaw alone, though update payloads may incidentally confirm field values. No EPSS score was provided in the input data, making probabilistic exploitation estimates unavailable. CISA KEV status is not indicated and no public proof-of-concept has been identified, so active exploitation cannot be confirmed. Despite the absence of KEV/POC signals, the real-world risk for multi-tenant Backpack deployments is substantial: sequential integer primary keys are trivially enumerable, no special tooling is required beyond a standard HTTP client, and the attack is repeatable across every unprotected CRUD panel. Applications not using addBaseClause() or addClause() for row-level authorization are not exposed to this specific bypass, which meaningfully narrows the affected population but does not reduce urgency for those that are. |
| Exploit ScenarioDerived | An authenticated low-privilege user in a multi-tenant Backpack CRUD application iterates through sequential integer primary keys in HTTP write requests - for example, POST /admin/products/1/edit, /admin/products/2/edit - targeting records outside their tenant's authorized scope. Because the Update, Delete, and Reorder code paths resolve records via an unscoped Eloquent query, the application acts on any matched record regardless of tenant ownership, allowing the attacker to overwrite or delete records belonging to other tenants using only a standard browser or HTTP client. No public proof-of-concept has been identified at time of analysis, but the attack requires no specialized tooling beyond a valid authenticated session. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Write operations in Laravel Backpack CRUD bypass registered query scopes on Update, Delete, and Reorder paths, enabling any authenticated low-privilege user to modify or delete arbitrary records outside their authorized scope. Versions 6.x before 6.8.14 and 7.x before 7.0.38 of the Composer package backpack/crud are affected when the application uses addBaseClause() or addClause() for row-level access control such as multi-tenancy or per-user data isolation. No public exploit code or CISA KEV listing has been identified at time of analysis, but the trivially guessable nature of sequential primary keys makes cross-tenant record manipulation straightforward for any authenticated session holder.
RemediationAI
The primary fix is to upgrade the Composer package backpack/crud to version 6.8.14 or later for v6 installations, or to version 7.0.38 or later for v7 installations; both are confirmed patched releases per the GitHub Security Advisory GHSA-vgmv-8xjc-6rch and the release notes at https://github.com/Laravel-Backpack/CRUD/releases/tag/6.8.14 and https://github.com/Laravel-Backpack/CRUD/releases/tag/7.0.38. If an immediate upgrade is not feasible, the vendor's documented workaround is to add explicit Laravel Gate or Policy authorization checks inside each affected CrudController's update(), destroy(), and reorder() methods to verify the authenticated user is permitted to act on the resolved record before proceeding - this compensating control requires custom code to be applied consistently across every CRUD panel that uses scope-based row filtering, and panels left without the check remain vulnerable, so incomplete application of the workaround may provide false assurance.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-639 (Authorization Through User-Controlled Key), a classic Insecure Direct Object Reference on write paths. Laravel Backpack CRUD (pkg:composer/backpack_crud) is a PHP/Laravel administration panel framework that allows developers to register query scopes via addClause() and addBaseClause() to restrict which database rows a given user may access - the primary mechanism for multi-tenancy and per-user ownership enforcement. The read side (list and show operations) correctly threads these registered clauses into the Eloquent query builder before resolving records. However, the Update, Delete, and Reorder code paths fetched records via an unscoped model query, entirely bypassing the registered clauses. Because the write operations resolved records directly by primary key without applying tenant or ownership filters, a user could supply any primary key value in a request and the application would locate and act on the corresponding record regardless of scope.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L
Network-accessible write endpoint exploitable by any authenticated session (PR:L, AV:N, AC:L); high integrity from unrestricted cross-tenant record modification; confidentiality and availability rated Low as read path is correctly scoped and availability impact is limited to record deletion.
Primary rating from Vendor (https://github.com/Laravel-Backpack/CRUD).
CVSS VectorVendor: https://github.com/Laravel-Backpack/CRUD
DescriptionCVE.org
Summary
Backpack CRUD's list and read operations correctly apply any query scopes registered via addClause() / addBaseClause() (e.g. tenant isolation, user ownership). However, the Update, Delete, and Reorder operations bypassed these scopes, fetching records directly from the unscoped model query.
An authenticated user who knows or can guess a record's primary key could therefore update, delete, or reorder records that should be invisible to them - a classic IDOR on write paths.
Applications that rely on addBaseClause for row-level access control (multi-tenancy, per-user data isolation) are affected.
Impact
Any Backpack CRUD panel that uses addBaseClause or addClause to restrict which rows a user may access is affected on its write operations. An authenticated low-privilege user can modify or delete records belonging to other tenants / users.
Patches
Apply the fixed release for your major version:
- v6: upgrade to 6.8.14 or later
- v7: upgrade to 7.0.38 or later
The fix ensures Update, Delete, and Reorder all resolve records through the same scoped query used by the read side.
Workarounds
If you cannot upgrade immediately, add explicit Gate / Policy checks in your CrudController's update(), destroy(), and reorder() methods to verify the authenticated user is permitted to act on the resolved record.
Credits
Reported by Vishal Shukla (@shukla304).
Executive ViewAI
Laravel Backpack CRUD (versions 6.x and 7.x) contains an access control bypass allowing authenticated users to modify or delete records outside their authorized scope, directly threatening data isolation in multi-tenant and per-user segmentation architectures. Organizations relying on Backpack for customer-facing applications or SaaS platforms face risk of cross-tenant data manipulation and regulatory compliance violations.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) migrate from sequential to UUID-based primary keys to prevent record enumeration, (2) enforce authorization checks within service or controller logic independent of ORM query scopes, (3) implement comprehensive audit logging for CRUD operations, (4) apply principle of least privilege to limit authenticated user data access to self-owned records, and (5) increase monitoring for anomalous CRUD patterns indicating exploitation attempts.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
EUVD-2026-77717
GHSA-vgmv-8xjc-6rch
NVD
CVE.org
EPSS
Exploit-DB