CVE-2026-54177 json
backpack/crud: HasUploadFields keeps the attacker-supplied file extension — public-disk uploads of `shell.php` reach the webserver
published 2mo ago modified last mo. also EUVD-2026-77719 , GHSA-8q2w-pv9p-mjvc
- cvss
- 6.6
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 61%
- 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, 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.
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@5c5de0a commit
- github.com/Laravel-Backpack/CRUD@76c3a6e commit
- github.com/Laravel-Backpack/CRUD#5993 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
Is CVE-2026-54177 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.93% chance of exploitation in the next 30 days, higher than 61% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.6 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 6.6 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H |
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
- Weakness
-
- CWE-434 Unrestricted Upload of File with Dangerous Type
References
-
github.com
/Laravel-Backpack/CRUD/pull/5993
web
- github.com /Laravel-Backpack/CRUD/pull/5994
- github.com /Laravel-Backpack/CRUD/commit/5c5de0af242619d0653c7c70c900cd15b1a197c5
- github.com /Laravel-Backpack/CRUD/commit/76c3a6e50e3fbd6d5f633208da5b04acb8322969
-
github.com
/Laravel-Backpack/CRUD/security/advisories/GHSA-8q2w-pv9p-mjvc
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-54177
- GitHub Advisory GHSA-8q2w-pv9p-mjvc
- NVD CVE-2026-54177
Fencer Intel 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.