backpack/crud: Stored XSS in the color column — the `@if($column['escaped'])` branches are inverted
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.
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, src/resources/views/crud/columns/color.blade.php inverts the escaped and raw rendering branches controlled by $column['escaped'], which defaults to true, causing $column['text'] to be rendered unescaped by default. An attacker who can store an unsanitized value in a color column can execute script in the browser of a user who views the CRUD list, including an administrator, with access to the victim's session-backed application capabilities. Exploitation requires write access to the stored color value and a victim viewing the list. This issue is fixed in versions 6.8.14 and 7.0.38.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Laravel-Backpack | CRUD | 6.0.0 to before 6.8.14; 7.0.0 to before 7.0.38 | 6.8.14, 7.0.38 | Patch available | CNA |
| — | backpack/crud (Packagist) | 6.0.0 to before 6.8.14 | 6.8.14 | Patch available | GHSA-mmg4-322v-6jvc |
| — | backpack/crud (Packagist) | 7.0.0 to before 7.0.38 | 7.0.38 | Patch available | GHSA-mmg4-322v-6jvc |
- CRUD VendorLaravel-Backpack Affected 6.0.0 to before 6.8.14; 7.0.0 to before 7.0.38 Fixed in 6.8.14, 7.0.38 Patch available CNA
- backpack/crud (Packagist) Vendor— Affected 6.0.0 to before 6.8.14 Fixed in 6.8.14 Patch available GHSA-mmg4-322v-6jvc
- backpack/crud (Packagist) Vendor— Affected 7.0.0 to before 7.0.38 Fixed in 7.0.38 Patch available GHSA-mmg4-322v-6jvc
Remediation
- Fix · CNA CRUD (Laravel-Backpack) Fixed in 6.8.14, 7.0.38
- Fix · GHSA-mmg4-322v-6jvc backpack/crud (Packagist) Fixed in 6.8.14 Advisory →
- Fix · GHSA-mmg4-322v-6jvc backpack/crud (Packagist) Fixed in 7.0.38 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-54181
- 2026-10-03 Alias added: GHSA-mmg4-322v-6jvc
References
Other 8
- https://github.com/Laravel-Backpack/CRUD/security/advisories/GHSA-mmg4-322v-6jvc
- https://github.com/Laravel-Backpack/CRUD/pull/5992
- https://github.com/Laravel-Backpack/CRUD/pull/5994
- https://github.com/Laravel-Backpack/CRUD/commit/608652b1020ba274781f222d2959d7780a559a08
- https://github.com/Laravel-Backpack/CRUD/commit/76c3a6e50e3fbd6d5f633208da5b04acb8322969
- https://github.com/Laravel-Backpack/CRUD/releases/tag/6.8.14
- https://github.com/Laravel-Backpack/CRUD/releases/tag/7.0.38
- https://github.com/Laravel-Backpack/CRUD
More Laravel-Backpack vulnerabilities
- TI-2026-39086 backpack/crud: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth) CVSS 3.1HIGH 8.1
- TI-2026-39082 Path traversal in Laravel-Backpack CRUD CVSS 3.1HIGH 8.1
- TI-2026-39084 backpack/crud: CRUD panel query scopes are not enforced on Update, Delete, and Reorder (cross-tenant IDOR) CVSS 3.1HIGH 7.6
- TI-2026-39079 backpack/crud: Unverified password change in MyAccountController via mass assignment CVSS 3.1HIGH 7.6
- TI-2026-39081 Unrestricted file upload in Laravel-Backpack CRUD CVSS 3.1MEDIUM 6.6
- TI-2026-39080 backpack/crud: MyAccountController allows changing the login email without a current-password check CVSS 3.1MEDIUM 6.5
Sources
- CVE-2026-54181 · CVE Program
- CVE-2026-54181 · NVD
- FIRST EPSS
- GHSA-mmg4-322v-6jvc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences