CVE-2026-54177: Laravel-Backpack CRUD · Unrestricted File Upload
Affects Laravel-Backpack CRUDSource CVE Database V5
Not known to be exploited · CVSS 6.6 Medium : upgrade to 7.0.38 or 6.8.14 when convenient.
Data as of 29 Oct 2026, 19:04 UTC
- EPSS
- 0.9% chance of exploitation in 30 days – higher than 60% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 7.0.38, 6.8.14
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 14 Sep 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 29 Oct 2026.
What to do
Upgrade CRUD and laravel-backpack/CRUD to 7.0.38 or 6.8.14.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| Laravel-BackpackCRUD | Affected
| Fixed in
|
| Laravel-BackpackCRUD | Affected
| Fixed in
|
GitHublaravel-backpack/CRUDpkg:github/laravel-backpack/CRUDOther threats | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade Laravel-Backpack CRUD to version 6.8.14 or later, or 7.0.38 or later, where this vulnerability is fixed. Ensure that application-level upload validation is properly implemented, including mimes: and mimetypes: validation for upload-enabled CRUD fields. Avoid exposing the public disk to web access without proper restrictions.
Description
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, HasUploadFields methods uploadFileToDisk and uploadMultipleFilesToDisk, used through CrudTrait, and the withFiles() path through FileNameGenerator do not internally reject server-executable file types. An authenticated administrator can achieve remote code execution by using an upload-enabled CRUD field without mimes: and mimetypes: validation when the public disk is web-accessible through php artisan storage:link and the web-server and PHP-FPM configuration executes the stored extension. The legacy path preserves an accepted extension and the newer path derives an extension without blocking dangerous types. The package-level restriction is defense in depth and does not replace application-level upload validation. This issue is fixed in versions 6.8.14 and 7.0.38.
References
- github.com/Laravel-Backpack/CRUD/security/advisories/GHSA-8q2w-pv9p-mjvc (opens in a new tab)
- github.com/Laravel-Backpack/CRUD/pull/5993 (opens in a new tab)
- github.com/Laravel-Backpack/CRUD/pull/5994 (opens in a new tab)
- github.com/Laravel-Backpack/CRUD/commit/5c5de0af242619d0653c7c70c900cd15b1a197c5 (opens in a new tab)
- github.com/Laravel-Backpack/CRUD/commit/76c3a6e50e3fbd6d5f633208da5b04acb8322969 (opens in a new tab)
- github.com/Laravel-Backpack/CRUD/releases/tag/6.8.14 (opens in a new tab)
- github.com/Laravel-Backpack/CRUD/releases/tag/7.0.38 (opens in a new tab)