Read the docs
TI-2026-39085 Aliases CVE-2026-54181GHSA-mmg4-322v-6jvc

backpack/crud: Stored XSS in the color column — the `@if($column['escaped'])` branches are inverted

Priority LOW 24CWE-1023Published · Updated

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

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00314 24th percentileScored 2026-11-07
Fix Fixed CRUD (Laravel-Backpack): 6.8.14, 7.0.38backpack/crud (Packagist): 6.8.14, 7.0.38

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

VendorProductAffected versionsFixed inStatusSource
Laravel-BackpackCRUD6.0.0 to before 6.8.14; 7.0.0 to before 7.0.386.8.14, 7.0.38Patch availableCNA
—backpack/crud (Packagist)6.0.0 to before 6.8.146.8.14Patch availableGHSA-mmg4-322v-6jvc
—backpack/crud (Packagist)7.0.0 to before 7.0.387.0.38Patch availableGHSA-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

  1. 2026-10-02 Threatist record created from CVE-2026-54181
  2. 2026-10-03 Alias added: GHSA-mmg4-322v-6jvc

References

  • 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
See all 9 →

Sources