Control panel only API response emulation replaces "securityKey" and reaches server RCE
Report #HCKRT-WM3VSE in Craft CMS Private Bug Bounty Program
Disclosed Report
StatusClosed
TargetTier 1
Severity
Details
- Program
- Craft CMS Private Bug Bounty Program
- Target
- craftcms/cms
- Creation Date
- 9/9/2026 2:09:16 AM
- Severity
- High
- CVSS Score
- CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:H
- CVE Number
- CVE-2026-115935
- Affected versions
- >= 4.0.0, < 4.18.9 and >= 5.0.0, < 5.11.2
- Visibility
- Disclosed
- Disclosed at
- 10/23/2026 9:34:44 PM
- Author
- @Kalawy
- Status
- Resolved (Closed)
- Vulnerability Type (CAPEC™)
- Remote Code Inclusion
- Weakness (CWE)
- (CWE-94) Improper Control of Generation of Code ('Code Injection')
Summary
The app/process-api-response-headers action accepts fake Craft API response headers from any authenticated control panel user.
Description
A non-admin user with only accessCp can place newline characters in X-Craft-Plugin-Licenses. Craft passes this value to its .env writer without removing the newlines.
This lets the user insert a new attacker-known CRAFT_SECURITY_KEY into .env. After Craft loads that key, the user can forge a signed login redirect containing a Twig system() callback.
This is different from the previous report. That report reads the existing key through a Twig sandbox bypass. This report replaces the key through fake API headers and CRLF injection. Fixing either source does not fix the other.
Impact
A low-privileged control panel account can execute arbitrary operating system commands as the PHP worker.
Timeline
Hackrate
Our platform helps companies to identify software vulnerabilities in a cost-efficient way. It provides a secure and centralized view of ethical hacking projects for your company.
US Patent Applied for HackGATE #63/645,845
Products
From the Blog
-
Hackrate Ranked 1st in Hungary and 22nd Globally at Hack The Box’s Global Cyber Skills Benchmark 2026
May 29 • 13 min read
-
Press release: Hackrate becomes Hungary’s first CVE Numbering Authority
Jan 13 • 5 min read ★
-
Let 2026 be the year bug bounty becomes part of how you build and operate
Jan 05 • 4 min read