Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify site running Geo Controller <= 8.9.8
-
DeliverySend crafted serialized PHP object in request
-
ExploitTrigger unserialize() deserialization
-
ExecutionInvoke gadget-chain magic methods
-
ImpactExecute code or takeover site
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the Geo Controller (cf-geoplugin) plugin at version 8.9.8 or earlier is installed and active on the target WordPress site, and that the attacker can reach the request parameter the plugin passes to PHP deserialization - per the CVSS vector this is remotely reachable with no authentication and no user interaction (AV:N/PR:N/UI:N). The key limiting factor is inherent to PHP Object Injection: achieving code execution or high-impact outcomes depends on a usable POP gadget chain existing in the loaded plugin/theme/core code; without a suitable gadget, impact may be limited to lower-severity effects. Exploitation is otherwise unconstrained against default configurations where the plugin is enabled. |
| Impact | The CVSS 3.1 base score is 9.8 (AV:N/AC:L/PR:N/UI:N/C:H/I:H/A:H), meaning network-reachable, low-complexity, and unauthenticated - the profile that typically warrants prompt remediation. That said, the practical severity of PHP Object Injection almost always hinges on whether a reachable gadget chain is present; the raw CVSS does not reflect that dependency, so the real-world impact can range from denial-of-service to full RCE depending on the deployed plugin/theme stack. No EPSS score, KEV listing, or POC was provided, so exploitation probability cannot be quantified from the input and there is no public exploit identified at time of analysis - this tempers immediate urgency relative to the 9.8 score but does not lower the theoretical impact. Given the unauthenticated network vector, any team running Geo Controller <= 8.9.8 on an internet-facing WordPress site should treat this as a high-priority patch item and not defer it merely because active exploitation is unconfirmed. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a crafted HTTP request to a Geo Controller endpoint with a malicious serialized PHP object in a parameter that the plugin passes to unserialize(). If a compatible gadget chain is available in the WordPress stack, the deserialization triggers magic methods that lead to file writes or code execution, giving the attacker control over the site. No public exploit is identified at time of analysis, but the low attack complexity and lack of authentication make this straightforward to attempt at scale. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
PHP Object Injection in the Geo Controller WordPress plugin (the plugin distributed as cf-geoplugin) affects all versions up to and including 8.9.8, allowing unauthenticated remote attackers to inject crafted serialized PHP objects that are deserialized by the application. Because exploitation requires no authentication and the CVSS vector reports full confidentiality, integrity, and availability impact, a suitable gadget chain in the plugin or wider WordPress environment could lead to remote code execution, data disclosure, or site takeover. There is no public exploit identified at time of analysis, and the issue is not listed in CISA KEV.
RemediationAI
Upgrade to a fixed release above 8.9.8 once published; the input data does not include an exact patched version number, so confirm the fixed version directly against the Patchstack advisory (https://patchstack.com/database/wordpress/plugin/cf-geoplugin/vulnerability/wordpress-geo-controller-plugin-8-9-8-php-object-injection-vulnerability) or the plugin's changelog before deploying. No vendor-released patched version is independently confirmed from the available data. If a fix is not yet available for your installation, the most effective compensating control is to deactivate and remove the Geo Controller plugin until patched, which fully removes the vulnerable code path at the cost of losing geolocation functionality; alternatively, place the site behind a WAF with rules to block serialized PHP object payloads (strings containing patterns like 'O:' / 'a:' in request parameters), accepting that WAF signature bypasses are possible and this is not a complete fix. Restricting access to the plugin's request endpoints and monitoring for anomalous serialized input are additional interim measures.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-502, Deserialization of Untrusted Data. WordPress plugins written in PHP frequently pass attacker-controllable input into unserialize() (or into functions that trigger it indirectly), which instantiates arbitrary PHP objects and invokes their magic methods (__wakeup, __destruct, __toString). When a usable 'POP' (Property-Oriented Programming) gadget chain exists in the plugin, WordPress core, or another loaded plugin, the deserialization can be escalated from object creation into file writes, SQL manipulation, or code execution. The affected component per the CPE is cpe:2.3:a:infinitum_form:geo_controller (the cf-geoplugin / Geo Controller plugin), a WordPress add-on that provides IP-based geolocation content control.
Know when PHP gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Unauthenticated network-reachable deserialization with no user interaction gives AV:N/AC:L/PR:N/UI:N; PHP object injection with a viable gadget chain justifies full C/I/A:H, though real impact depends on gadget availability.
Primary rating from Vendor (Patchstack).
CVSS VectorVendor: Patchstack
DescriptionCVE.org
Unauthenticated PHP Object Injection in Geo Controller <= 8.9.8 versions.
Articles & Coverage 1
Executive ViewAI
The Geo Controller WordPress plugin (cf-geoplugin) versions up to 8.9.8 contain a critical, unpatched PHP Object Injection vulnerability allowing unauthenticated attackers to achieve remote code execution on affected WordPress sites. No public exploit identified at time of analysis, but the CVSS 9.8 severity and absence of a vendor patch creates immediate risk of site takeover, data compromise, or malicious hosting for all organizations using this widely-deployed plugin.
No vendor-released patch identified at time of analysis. Immediate interim mitigations: (1) Disable cf-geoplugin on all affected WordPress instances; (2) Deploy WAF rules to block PHP object injection patterns in request parameters; (3) Implement IP-based access controls on WordPress admin interfaces; (4) Enable comprehensive logging and alerting on deserialization function calls; (5) Deploy file integrity monitoring on WordPress plugin and core directories; (6) Isolate affected WordPress servers on segmented network if feasible. Continuously monitor vendor advisory and CVE feeds for patch availability announcement.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-66943
GHSA-3h99-6f5g-6j4m
NVD
CVE.org
EPSS
Exploit-DB