CVE-2026-54182
backpack/crud: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.1
backpack/crud: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)
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.
- Record
CVE-2026-54182- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-78, CWE-116
- Updated
- 2026-11-02
EUVDEUVD-2026-77707
8.1
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.
- Record
EUVD-2026-77707- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-mrc5-3mm3-45c5
8.1
Laravel Backpack CRUD: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)
Summary
Backpack\CRUD\Stats::makeCurlRequest builds a shell command using unescaped input that originates from the HTTP Host header, then passes it to exec(). A specially crafted Host header can break out of the shell argument and cause the server to execute arbitrary OS commands as the web user.
The vulnerable code path is reached from BackpackServiceProvider::boot() on every HTTP request in production when exec() and curl are available. A 1-in-100 random gate is the only guard — an attacker can reliably trigger it by retrying.
Severity
High — CVSS 8.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Complexity is rated High because default nginx and Apache configurations typically strip or reject malformed Host headers before they reach PHP, and exec() is often disabled for web processes in hardened environments. Both mitigations must be absent for exploitation.
Impact
A successful exploit yields OS command execution as the web server user (www-data, nginx, etc.), giving an unauthenticated attacker access to environment secrets (APP_KEY, database credentials, API keys in .env), the filesystem, and any service the server can reach.
Fix
makeCurlRequest was replaced with the Guzzle-based path already present in the codebase, eliminating the shell-command construction entirely. Upgrade to a patched release immediately.
Affected versions
| Branch | Vulnerable range | First safe version |
|--------|-----------------|-------------------|
| 4.1.x | < 4.1.70 | 4.1.70 |
| 5.x | < 5.6.2 | 5.6.2 |
| 6.x | < 6.8.13 | 6.8.13 |
| 7.x | < 7.0.36 | 7.0.36 |
Credits
Reported by Vishal Shukla (@shukla304) via sechub.dev AI Agent.
- Record
GHSA-mrc5-3mm3-45c5- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-78, CWE-116
- Updated
- 2026-11-02
NVD
8.1
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.
- Record
CVE-2026-54182- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-20, CWE-78, CWE-116
- Updated
- 2026-11-02
OSV
8.1
backpack/crud: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)
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.
- Record
CVE-2026-54182- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-116, CWE-20, CWE-78
- Updated
- 2026-11-02
OSVGHSA-mrc5-3mm3-45c5
8.1
Laravel Backpack CRUD: OS command injection in Stats::makeCurlRequest via attacker-controlled Host header (pre-auth)
Summary
Backpack\CRUD\Stats::makeCurlRequest builds a shell command using unescaped input that originates from the HTTP Host header, then passes it to exec(). A specially crafted Host header can break out of the shell argument and cause the server to execute arbitrary OS commands as the web user.
The vulnerable code path is reached from BackpackServiceProvider::boot() on every HTTP request in production when exec() and curl are available. A 1-in-100 random gate is the only guard — an attacker can reliably trigger it by retrying.
Severity
High — CVSS 8.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Complexity is rated High because default nginx and Apache configurations typically strip or reject malformed Host headers before they reach PHP, and exec() is often disabled for web processes in hardened environments. Both mitigations must be absent for exploitation.
Impact
A successful exploit yields OS command execution as the web server user (www-data, nginx, etc.), giving an unauthenticated attacker access to environment secrets (APP_KEY, database credentials, API keys in .env), the filesystem, and any service the server can reach.
Fix
makeCurlRequest was replaced with the Guzzle-based path already present in the codebase, eliminating the shell-command construction entirely. Upgrade to a patched release immediately.
Affected versions
| Branch | Vulnerable range | First safe version |
|--------|-----------------|-------------------|
| 4.1.x | < 4.1.70 | 4.1.70 |
| 5.x | < 5.6.2 | 5.6.2 |
| 6.x | < 6.8.13 | 6.8.13 |
| 7.x | < 7.0.36 | 7.0.36 |
Credits
Reported by Vishal Shukla (@shukla304) via sechub.dev AI Agent.
- Record
GHSA-mrc5-3mm3-45c5- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-116, CWE-20, CWE-78
- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
backpack/crudPackagist |
4.1.0 up to 4.1.72 | 4.1.72 |
backpack/crudPackagist |
5.0.0 up to 5.6.2 | 5.6.2 |
backpack/crudPackagist |
6.0.0 up to 6.8.13 | 6.8.13 |
backpack/crudPackagist |
7.0.0 up to 7.0.36 | 7.0.36 |
backpack/crudPackagist |
4.1.0 up to 4.1.72, plus listed versions 4.1.14.1.104.1.114.1.124.1.13 Show 45 moreShow less4.1.144.1.154.1.164.1.174.1.184.1.194.1.24.1.204.1.214.1.224.1.234.1.244.1.254.1.264.1.274.1.284.1.294.1.34.1.304.1.314.1.324.1.334.1.344.1.354.1.364.1.374.1.384.1.394.1.44.1.404.1.414.1.424.1.434.1.444.1.454.1.464.1.474.1.484.1.494.1.54.1.504.1.514.1.524.1.534.1.54 |
4.1.72 |
backpack/crudPackagist |
5.0.0 up to 5.6.2, plus listed versions 5.0.15.0.105.0.115.0.125.0.13 Show 45 moreShow less5.0.145.0.155.0.165.0.175.0.185.0.195.0.25.0.205.0.215.0.35.0.45.0.55.0.65.0.75.0.85.0.95.1.05.1.15.1.25.1.35.1.45.2.05.2.15.2.25.3.05.3.15.3.105.3.115.3.125.3.135.3.25.3.35.3.45.3.55.3.65.3.75.3.85.3.95.4.05.4.15.4.105.4.115.4.125.4.135.4.14 |
5.6.2 |
backpack/crudPackagist |
6.0.0 up to 6.8.13, plus listed versions 6.0.16.0.26.0.36.0.46.0.5 Show 45 moreShow less6.0.66.0.76.1.06.1.16.1.106.1.116.1.126.1.136.1.146.1.156.1.166.1.26.1.36.1.46.1.56.1.66.1.76.1.86.1.96.2.06.2.16.2.26.2.36.2.46.3.06.3.16.3.26.4.06.4.16.4.26.5.06.5.16.5.26.5.36.5.46.5.56.6.06.6.16.6.26.6.36.6.46.6.56.6.66.7.06.7.1 |
6.8.13 |
backpack/crudPackagist |
7.0.0 up to 7.0.36, plus listed versions 7.0.17.0.107.0.117.0.127.0.13 Show 30 moreShow less7.0.147.0.157.0.167.0.177.0.187.0.197.0.27.0.207.0.217.0.227.0.237.0.247.0.257.0.267.0.277.0.287.0.297.0.37.0.307.0.317.0.327.0.337.0.347.0.357.0.47.0.57.0.67.0.77.0.87.0.9 |
7.0.36 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-54182 is a high vulnerability (CVSS 8.1) in Laravel-backpack Crud, published August 20, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.78%, the 56th percentile. Fixed in backpack/crud 4.1.72.
References
github.com/Laravel-Backpack/CRUD/security/advisories/GHSA-mrc5-3mm3-45c5
github.com/Laravel-Backpack/CRUD/pull/6012
github.com/Laravel-Backpack/CRUD/commit/0f2faafc22a15d77c14370f163d8f739f933c28c
github.com/Laravel-Backpack/CRUD/commit/1476a3769d94a410a2d2e9576deb522e84002f2a
github.com/Laravel-Backpack/CRUD/commit/282ba2a0b88749fb1888b3836678ba462d7023f0
github.com/Laravel-Backpack/CRUD/commit/471935e296b1be1a7216fdf10c8823e1f512f601
Show 8 moreShow less
github.com/Laravel-Backpack/CRUD/releases/tag/4.1.72
github.com/Laravel-Backpack/CRUD/releases/tag/5.6.2
github.com/Laravel-Backpack/CRUD/releases/tag/6.8.13
github.com/Laravel-Backpack/CRUD/releases/tag/7.0.36
github.com/advisories/GHSA-mrc5-3mm3-45c5
github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54182.json
nvd.nist.gov/vuln/detail/CVE-2026-54182
github.com/Laravel-Backpack/CRUD
Left out here: 110 versions. The JSON record has them.