Skip to content
OpenAdvisories
High · 8.1 CVE-2026-54182 EUVD-2026-77707GHSA-mrc5-3mm3-45c5

backpack/crud: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)

Published Sep 14, 2026 · Updated Sep 14, 2026 · Assigned by GitHub_M

Description

backpack/crud provides Create, Read, Update & Delete (CRUD) functions for Backpack, a collection of Laravel packages that help users build custom administration panels. Prior to 4.1.70, 5.6.2, 6.8.13, and 7.0.36, Backpack\CRUD\Stats::makeCurlRequest in src/Stats.php is reached from BackpackServiceProvider::boot() and constructs a shell command with a URL influenced by the HTTP Host header, which it passes to exec() without adequate shell neutralization. An unauthenticated attacker whose malformed Host value reaches PHP can inject operating-system commands when exec() and curl are available and the 1-in-100 random gate is reached. Repeated requests can reach the random gate. Successful exploitation executes commands as the web-server user, exposing environment secrets, files, and reachable services and permitting data modification or service disruption. Common reverse-proxy Host validation and hardened PHP configurations that disable exec() reduce reachability but do not correct the vulnerable construction. This issue is fixed in versions 4.1.70, 5.6.2, 6.8.13, and 7.0.36.

Affected products

VendorProductAffectedFixed
Laravel-Backpack CRUD < 4.1.70, >= 5.0.0, < 5.6.2, >= 6.0.0, < 6.8.13, >= 7.0.0, < 7.0.36 —

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist backpack/crud >= 4.1.0, < 4.1.72 4.1.72 GHSA-mrc5-3mm3-45c5
Packagist backpack/crud >= 5.0.0, < 5.6.2 5.6.2 GHSA-mrc5-3mm3-45c5
Packagist backpack/crud >= 6.0.0, < 6.8.13 6.8.13 GHSA-mrc5-3mm3-45c5
Packagist backpack/crud >= 7.0.0, < 7.0.36 7.0.36 GHSA-mrc5-3mm3-45c5

References