craftcms/cms security advisory
CVE-2026-55791: Craft CMS: Blind SSRF and Arbitrary JavaScript Injection via Host Header Poisoning in actionResourceJs
CVE-2026-55791 is a critical-severity SSRF vulnerability in the PHP package craftcms/cms (CVSS 6.9), published 2 July 2026. It is fixed in 4.18 and 5.10, one per release line; earlier versions on each line are affected. It can be exploited without an account.
critical 6.9 published 2026-07-02 · updated 2026-10-25
- Affected versions
- >= 4.0.0-RC1, < 4.18
>= 5.0.0-RC1, < 5.10 - Fixed in
- 4.18, 5.10
- Newest release
- 5.12.0
- Severity
- Critical · CVSS 6.9
- Type
- Server-side request forgery (SSRF)
CWE-79, CWE-644, CWE-918 - Exploited in the wild
- Not on the CISA KEV list
checked 2026-11-04
Is your craftcms/cms version affected?
Who can exploit CVE-2026-55791
- Access: No account. Anyone who can send a request to an app that uses the affected code.
CVSS vector (scored by GitHub): CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
How to fix CVE-2026-55791 in craftcms/cms
- Find the installed version:
composer show craftcms/cms. If you never required it yourself,composer why craftcms/cmsshows which package pulls it in. - Update it:
composer update craftcms/cms --with-all-dependencies. You need the fixed version for your release line (4.18 and 5.10). - If Composer will not go that high, your composer.json constraint is holding it back. Widen it (for example
"craftcms/cms": "^5.10"if you can take that version), or upgrade the package that requires it. - Run
composer audit. It reads the same advisory data and should no longer list CVE-2026-55791. - Commit composer.lock and deploy it. On the server, run
composer install --no-devfrom the lock file, notcomposer update.
If you cannot upgrade yet
- Block outbound requests from the app server to private ranges and cloud metadata (169.254.169.254) at the firewall.
- Do not pass user-supplied URLs to the affected feature.
- If your app does not use the affected feature, note that in your audit, but still plan the upgrade.
The CVE-2026-55791 advisory
Craft CMS is a content management system (CMS). Versions 4.0.0-RC1 and above, prior to 4.18.0 and 5.0.0-RC1, and above, prior to 5.10.0, are vulnerable to Server-Side Request Forgery (SSRF) and Arbitrary JavaScript Injection through the /actions/app/resource-js endpoint. By exploiting the default permissive trustedHosts configuration, an attacker can poison the Host or X-Forwarded-Host header to manipulate the application’s $baseUrl. This bypasses the endpoint’s internal URL validation, forcing the backend Guzzle client to fetch a malicious payload from an attacker-controlled server and reflect it to the client with a Content-Type: application/javascript header. The vulnerability manifests when assetManager.cacheSourcePaths is set to false. This issue has been fixed in versions 4.18.0 and 5.10.0.
References
- GitHub advisory GHSA-c55v-343g-5xff github.com
- Pull request #18559 github.com
Other craftcms/cms advisories
- critical Craft CMS: Passkey login accepts replayed WebAuthn assertions 2026-08-07
- medium CVE-2026-72779: Craft CMS: Arbitrary file read via SplFileObject in non-sandboxed template contexts 2026-08-06
- medium CVE-2026-72782: Craft CMS: Authenticated leak of secret environment variables 2026-08-06
- medium CVE-2026-72785: Craft CMS: Authorization bypass: view-only Categories user can modify category structure via structures/move-element 2026-08-06
- medium CVE-2026-14794: Craft CMS: Missing authorization check allows non-admin control panel users access to user registration metrics 2026-08-06
- low CVE-2026-72783: Craft CMS: Incorrect path validation could potentially lead to path traversal 2026-08-06
Related
Need help patching or upgrading? Laskyr does PHP and Laravel security fixes and upgrades. Tell us what you run and we reply with a plan and a price.
Ask about a fixWhere this data comes from
- Affected and fixed versions: the Packagist security advisories API (GitHub Advisory Database and FriendsOfPHP), the same data
composer audituses. Synced 2026-11-03. - Description, score, weakness and references: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Exploited-in-the-wild status: the CISA Known Exploited Vulnerabilities catalog, checked 2026-11-04.
- Compiled by Daniel Lasek at Laskyr from the sources above. The summary, “who can exploit it”, “how to fix it” and hardening sections are our plain-English reading of the record and are generated from it. The quoted description is the record's own text. Spot an error? Tell us.