# WPGraphQL <= 2.24.1 - Authenticated (Author+) Server-Side Request Forgery via createMediaItem Remote URL

- **ID:** WPSEC-2026-1156
- **Plugin:** WPGraphQL (`wp-graphql`), https://wordpress.org/plugins/wp-graphql/
- **Affected versions:** all versions before 2.24.2
- **Fixed in:** 2.24.2 (Update to 2.24.2 or later.)
- **Severity:** Medium 4.9 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:L/A:N)
- **Weakness:** CWE-918
- **Usage among sites WPSec scans:** plugin Low, affected versions None seen (as of 2026-10-17)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/wp-graphql
- **Fix released:** 2026-10-16
- **Published:** 2026-10-17
- **URL:** https://wpsec.com/vuln/WPSEC-2026-1156/

## Description

The WPGraphQL plugin for WordPress is vulnerable to Server-Side Request Forgery via the media item creation mutation's remote file URL in all versions up to, and including, 2.24.1 due to an incomplete safe-URL check. A failed AAAA (IPv6) DNS lookup was treated as a host with no IPv6 addresses, and the NAT64 local-use prefix (64:ff9b::/32 outside the well-known /96 prefix) was not blocked. This makes it possible for authenticated attackers with Author-level access and above, who can upload media, to make web requests to internal addresses and possibly query or modify internal services, under conditions such as a failing IPv6 resolver or a network using a local NAT64 translator.

## References

- https://wpsec.com/vuln/WPSEC-2026-1156/
- https://plugins.svn.wordpress.org/wp-graphql/tags/2.24.2/
- https://wordpress.org/plugins/wp-graphql/

Source: WPSec, https://wpsec.com/vuln/WPSEC-2026-1156/

License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Free to use, share and adapt, also commercially, if you credit WPSec and link to this advisory.
