# Geo Controller <= 9.0.2 - Unauthenticated IP Address Spoofing via Forwarding Headers

- **ID:** WPSEC-2026-0962
- **Plugin:** Geo Controller (`cf-geoplugin`), https://wordpress.org/plugins/cf-geoplugin/
- **Affected versions:** all versions before 9.0.3
- **Fixed in:** 9.0.3 (Update to 9.0.3 or later.)
- **Severity:** Medium 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N)
- **Weakness:** CWE-348
- **Usage among sites WPSec scans:** plugin Low, affected versions Low (as of 2026-10-14)
- **Attack surface analysis:** https://attacksurface.wpsec.com/plugin/cf-geoplugin
- **Fix released:** 2026-10-13
- **Published:** 2026-10-14
- **URL:** https://wpsec.com/vuln/WPSEC-2026-0962/

## Description

The Geo Controller plugin for WordPress is vulnerable to IP Address Spoofing via forwarding headers in all versions up to, and including, 9.0.2, due to the CFGP_IP::get() function trusting client-supplied headers such as X-Forwarded-For, X-Real-IP, Forwarded, Client-IP and (when Cloudflare support is enabled) CF-Connecting-IP without checking whether the request came from a trusted proxy or a Cloudflare address. This makes it possible for unauthenticated attackers to choose the IP address the plugin uses for geolocation, which can bypass the plugin's IP- and country-based restrictions such as Defender blocking and geo-targeted content or redirects.

## References

- https://wpsec.com/vuln/WPSEC-2026-0962/
- https://plugins.svn.wordpress.org/cf-geoplugin/tags/9.0.3/
- https://wordpress.org/plugins/cf-geoplugin/

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

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.
