Craft is a platform for creating digital experiences. In Craft versions 4.0.0-RC1 through 4.16.17 and 5.0.0-RC1 through 5.8.21, the saveAsset GraphQL mutation uses filter_var(…, FILTER_VALIDATE_IP) to block a specific list of IP addresses. However, alternative IP notations (hexadecimal, mixed) are not recognized by this function, allowing attackers to bypass the blocklist and access cloud metadata services. This issue is patched in versions 4.16.18 and 5.8.22.
The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Craft_cms | Craftcms | 4.0.0 (excluding) | 4.16.18 (excluding) |
| Craft_cms | Craftcms | 5.0.0 (excluding) | 5.8.22 (excluding) |
| Craft_cms | Craftcms | 4.0.0 (including) | 4.0.0 (including) |
| Craft_cms | Craftcms | 4.0.0-rc1 (including) | 4.0.0-rc1 (including) |
| Craft_cms | Craftcms | 4.0.0-rc2 (including) | 4.0.0-rc2 (including) |
| Craft_cms | Craftcms | 4.0.0-rc3 (including) | 4.0.0-rc3 (including) |
| Craft_cms | Craftcms | 5.0.0-rc1 (including) | 5.0.0-rc1 (including) |