{"answers":{"affected":"4 open source packages ship an affected version, including craftcms/cms.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-41130 exists.","fix":"Upgrade craftcms/cms to a fixed version for your release line: 4.17.9 or 5.9.15.","what":"CVE-2026-41130 is a medium-severity server-side request forgery vulnerability in craftcms cms, published on 21 Apr 2026. An attacker needs administrator access to exploit it, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-41130 and fix it if it is affected.\n\nWhat it is: CVE-2026-41130 is a medium-severity server-side request forgery vulnerability in craftcms cms, published on 21 Apr 2026. An attacker needs administrator access to exploit it, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-41130 exists.\n\nAffected packages and fixed versions:\n- craftcms/cms (Packagist): affected from 4.0.0-RC1; fixed in 4.17.9\n- craftcms/cms (Packagist): affected from 4.0.0-RC1; fixed in 4.17.9\n- craftcms/cms (Packagist): affected from 5.0.0-RC1; fixed in 5.9.15\n- craftcms/cms (Packagist): affected from 5.0.0-RC1; fixed in 5.9.15\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-41130/ (Markdown: https://insights.sbomify.com/CVE-2026-41130/index.md)","id":"CVE-2026-41130","markdown":"https://insights.sbomify.com/CVE-2026-41130/index.md","name":"CVE-2026-41130","record":{"aliases":["GHSA-95wr-3f2v-v2wh"],"analysis":{"component_type":"web_application","fix_type":"patch","impacts":["data_read","security_bypass"],"network_reachable":"yes","non_default_config":false,"product_category":"Craft CMS","requires_auth":"high_privilege","summary":"Unauthenticated attackers can exploit Host header injection in Craft CMS to perform Server-Side Request Forgery via the resource-js endpoint.","user_interaction":"not_required","vuln_class":"ssrf"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":5.5,"severity":"medium","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:P","version":"4.0"},"cwes":[{"id":"CWE-918","name":"Server-Side Request Forgery"}],"description":"Craft CMS is a content management system (CMS). In versions on the 4.x branch through 4.17.8 and the 5.x branch through 5.9.14, the `resource-js` endpoint in Craft CMS allows unauthenticated requests to proxy remote JavaScript resources. \nWhen `trustedHosts` is not explicitly restricted (default configuration), the application trusts the client-supplied Host header. This allows an attacker to control the derived `baseUrl`, which is used in prefix validation inside `actionResourceJs()`. By supplying a malicious Host header, the attacker can make the server issue arbitrary HTTP requests, leading to Server-Side Request Forgery (SSRF). Versions 4.17.9 and 5.9.15 patch the issue.","ecosystems":["Packagist"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"weaponised"},"has_fix":true,"headline":"Craft CMS has a host header injection leading to SSRF via resource-js endpoint","id":"CVE-2026-41130","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Packagist","product":null,"products":[],"type":"ssrf","year":"2026"},"n_packages":4,"n_references":2,"next":{"headline":"OpenFGA has Improper Policy Enforcement","id":"CVE-2026-41131"},"packages":[{"ecosystem":"Packagist","fixed":["4.17.9"],"introduced":["4.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":null,"source":"GHSA-95wr-3f2v-v2wh"},{"ecosystem":"Packagist","fixed":["4.17.9"],"introduced":["4.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":"pkg:composer/craftcms/cms","source":"GHSA-95wr-3f2v-v2wh"},{"ecosystem":"Packagist","fixed":["5.9.15"],"introduced":["5.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":null,"source":"GHSA-95wr-3f2v-v2wh"},{"ecosystem":"Packagist","fixed":["5.9.15"],"introduced":["5.0.0-RC1"],"last_affected":[],"package":"craftcms/cms","purl":"pkg:composer/craftcms/cms","source":"GHSA-95wr-3f2v-v2wh"}],"prev":{"headline":"Craft CMS has Server-Side Request Forgery (SSRF) with Asset Uploads Mutations","id":"CVE-2026-41129"},"products":["cms"],"published":"2026-04-21","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-04-22","vendors":["craftcms"]},"summary":"Unauthenticated attackers can exploit Host header injection in Craft CMS to perform Server-Side Request Forgery via the resource-js endpoint.","url":"https://insights.sbomify.com/CVE-2026-41130/"}