Impact
Craft CMS versions released before 5.10.6 and before 4.18.2 contain a web‑application bug that allows an authenticated attacker with GraphQL asset‑creation permissions to supply an arbitrary URL to the save<Volume>Asset mutation. The application then performs an outbound GET request to that URL before it validates the target address. Because the anti‑SSRF check is performed only after the request is issued and does not cover CGNAT or NAT64 blocks, the attacker can compel the CMS server to retrieve content from private or internal networks, including RFC1918 addresses, loopback interfaces or cloud metadata endpoints, effectively revealing internal resources. The vulnerability falls under CWE‑918 and has a CVSS score of 6.9, representing a potential for internal data disclosure and system enumeration.
Affected Systems
Craft CMS 5.0.0‑RC1 through 5.10.5 inclusive, and Craft CMS 4.0.0‑RC1 through 4.18.1 inclusive. These are the only product lines that include the vulnerable GraphQL mutation. Upgrading to 5.10.6 (or 4.18.2 for the older line) removes the flaw.
Risk and Exploitability
The CVSS score suggests moderate severity; the EPSS is not available, but the absence of a KEV listing indicates no confirmed public exploit at this time. Attackers must possess a GraphQL token with asset‑creation rights, so the attack vector is remote but limited to users with those privileges. Once the token is available, the attacker can trigger requests to any internal endpoint the CMS server can reach, potentially exposing sensitive data or enumerating services. The lack of a pre‑request IP whitelist means the flaw is quite easy to exercise in a controlled environment.
OpenCVE Enrichment