CVE-2026-65552
Executive Summary
CVE-2026-65552 is a critical PHP Object Injection vulnerability in the WordPress "Export User Data" plugin, affecting versions 2.2.6 and earlier. The flaw allows an unauthenticated attacker to inject arbitrary PHP objects, leading to remote code execution, full data compromise, and complete site takeover. This vulnerability is classified as Critical (CVSS 9.8) and, as of this report, no patch has been released, leaving all sites running the affected plugin actively exposed to exploitation.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability resides in the "Export User Data" WordPress plugin, a utility that allows administrators to export user information in various formats (CSV, JSON, XML, etc.). The flaw is a classic PHP Object Injection vulnerability categorized under CWE-502 (Deserialization of Untrusted Data).
Vulnerability Mechanism:
PHP Object Injection occurs when user-supplied input is passed to PHP's unserialize() function without proper sanitization or validation. The "Export User Data" plugin processes serialized data from HTTP parameters—likely through query strings, POST bodies, or cookie values—without first validating that the data structure matches expected parameters.
In a typical attack flow, an attacker crafts a malicious serialized PHP object string that, when deserialized, triggers magic methods such as __wakeup(), __destruct(), or __toString(). Critically, the plugin is vulnerable even for authenticated users with "Subscriber" role, but the CVSS vector PR:N indicates that no authentication is required, suggesting the vulnerable parameter is accessible pre-authentication.
Attack Surface:
- Vector: Network (AV:N) — Attack is remotely exploitable over HTTP/HTTPS.
- Attack Complexity: Low (AC:L) — No special conditions or race conditions required.
- Privileges Required: None (PR:N) — Attack can be executed by unauthenticated users.
- User Interaction: None (UI:N) — No victim interaction required.
- Scope: Unchanged (S:U) — Impact confined to the vulnerable component.
The deserialization gadget chain may leverage existing WordPress core or plugin classes whose magic methods can be chained to achieve arbitrary file write, code execution, or full database exfiltration. The CVSS impact scores (C:H/I:H/A:H) confirm the maximum severity for confidentiality, integrity, and availability.
Affected Versions:
The CNA title lists all versions <= 2.2.6 as vulnerable. Patch Confidence is 0/4, indicating no known patched version exists as of this analysis.
Exploitation Scenarios
Attack Scenario A: Pre-Authentication RCE via Deserialization Gadget Chain
Reconnaissance: The attacker identifies WordPress sites running the "Export User Data" plugin by scanning for the plugin's JavaScript/CSS assets (
wp-content/plugins/export-user-data/) or characteristic page structures. Google dork:inurl:"wp-content/plugins/export-user-data".Vulnerability Trigger: The attacker sends an HTTP POST request to any publicly accessible endpoint that processes the plugin's export functionality, injecting a crafted
serialized_dataparameter. The payload resembles:serialized_data=O:8:"RCE_Class":1:{s:4:"code";s:20:"system('id');";}The attacker first identifies a suitable class in the plugin or WordPress core whose magic method (
__wakeup()or__destruct()) callscall_user_func(),eval(), orfile_put_contents().Payload Execution: The attacker crafts an object chain. A realistic chain might use
WP_Queryor a custom plugin class. Example payload targeting a known class:POST /wp-admin/admin-ajax.php HTTP/1.1 Host: victim-site.com Content-Type: application/x-www-form-urlencoded action=export_user_data&data=O:27:"Export_User_Data_Handler":2:{s:8:"filename";s:9:"shell.php";s:4:"data";s:20:"<?php system($_GET['c']); ?>";}Post-Exploitation: After successful exploitation, the attacker achieves remote code execution as the web server user (
www-data). They can then:- Read
wp-config.phpto extract database credentials. - Create a rogue administrator account by inserting into the
wp_usersandwp_usermetatables. - Upload webshells for persistent access.
- Deface the site or use it as a pivot for lateral movement.
- Read
Attack Scenario B: Subscriber Privilege Escalation
- The attacker registers a subscriber account (or compromises one).
- Using the authenticated export functionality, they inject a serialized payload that leverages WordPress's
WP_Userclass or similar to manipulate user roles. - The payload crafts an object that, when deserialized, executes SQL injection via
$wpdb->query()to grant administrative privileges to the attacker's subscriber account.
Impact Assessment
Business Impact:
- Confidentiality (High): Complete disclosure of all user data, database contents, and potentially sensitive information exported by the plugin (PII, email addresses, user metadata).
- Integrity (High): Attacker can modify site content, inject malicious scripts, deface pages, and alter database records.
- Availability (High): Attacker can delete critical files, crash the database, or render the site completely inoperable.
Affected Systems:
All WordPress installations running "Export User Data" plugin version 2.2.6 or earlier. Given WordPress's massive market share and the utility nature of this plugin, the potential blast radius is significant. Sites using shared hosting are especially at risk because a fully compromised site can lead to cross-tenant attacks.
Risk Assessment:
- CVSS 9.8 (Critical) — Attack is trivial to execute (requires only a crafted HTTP request), requires no authentication, and results in complete system compromise.
- No patch available as of this report (Patch Confidence: 0/4).
- Not listed on CISA KEV yet, but given the severity, it is a strong candidate for inclusion.
Detection Guidance
Sigma Rule
title: WordPress Export User Data - PHP Object Injection Attempt
id: 8f5b33c4-9a7e-4d6b-8f25-0e4c35d9f177
status: experimental
description: Detects PHP object injection attempts targeting the Export User Data WordPress plugin using known gadget chain patterns.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-65552
author: ValtersIT Threat Intelligence
date: 2026/01/15
tags:
- attack.t1190
- attack.initial-access
- cve.2026.65552
logsource:
category: webserver
product: apache
service: access
definition: Apache access logs or equivalent web server logs
detection:
selection_uri:
cs-uri-query|contains:
- 'action=export_user_data'
- 'export_user_data'
- 'serialized_data='
- 'data=O:'
selection_payload:
cs-uri-query|contains:
- 'O:%3A'
- 'O:8:'
- '%7Bs%3A'
- '%3As%3A'
condition: selection_uri and selection_payload
timeframe: 30s
falsepositives:
- Legitimate use of the plugin's export functionality with encoded data
level: high
YARA Rule
rule wordpress_export_user_data_php_object_injection {
meta:
author = "ValtersIT Threat Intelligence"
description = "Detects PHP object injection payloads targeting CVE-2026-65552 in Export User Data plugin"
date = "2026-01-15"
severity = "critical"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-65552"
strings:
$a = "action=export_user_data" ascii wide
$b = "export_user_data" ascii wide
$c = /data\s*=\s*O:\d+:/ ascii
$d = /O:\d+:"[^"]+":\d+:\{/ ascii
$e = "serialized_data" ascii wide
$f = "__wakeup" ascii wide
$g = "__destruct" ascii wide
condition:
uint16(0) == 0x4D50 and (($a or $b) and ($c or $d)) and 3 of them
}
Suricata IDS Rule
alert http any any -> any any (
msg:"ET EXPLOIT WordPress Export User Data PHP Object Injection (CVE-2026-65552)";
flow:established,to_server;
content:"POST"; http_method;
content:"export_user_data"; http_uri;
content:"O:"; http_client_body;
pcre:"/O:[0-9]+:\"[^\"]+\":[0-9]+:\{/"; nocase;
classtype:attempted-admin;
reference:cve,2026-65552;
reference:url,https://nvd.nist.gov/vuln/detail/CVE-2026-65552;
sid:20266551;
rev:1;
metadata:attack_target Web_Server, created_at 2026_01_15, deployment Perimeter, signature_severity Critical, updated_at 2026_01_15;
)
Elastic Detection
sequence by source.ip with maxspan=30s
[network where event.category == "web" and process.name == "httpd" and
url.path contains "wp-admin/admin-ajax.php" and
url.query contains "action=export_user_data"]
[network where event.category == "web" and
url.query matches ".*data=O:[0-9]+:.*" or
url.query matches ".*serialized_data=.*O:[0-9]+:.*"]
Splunk SPL Query
index=webserver sourcetype=apache:access
| where uri_path LIKE "%wp-admin/admin-ajax.php%"
OR uri_path LIKE "%export-user-data%"
| rex field=uri_query "data=(?<payload>[^&]+)|serialized_data=(?<payload2>[^&]+)"
| eval final_payload = coalesce(payload, payload2)
| where final_payload LIKE "%O:%"
OR final_payload LIKE "%s:%"
| eval decoded_payload = urldecode(final_payload)
| where decoded_payload LIKE "%__wakeup%" OR decoded_payload LIKE "%__destruct%" OR decoded_payload LIKE "O:%d:%"
| stats count by src_ip, uri_path, decoded_payload, useragent, _time
| sort - _time
| table _time, src_ip, uri_path, decoded_payload, useragent, count
Wazuh OSSEC Rule
<group name="wordpress,">
<rule id="100251" level="15">
<if_sid>31100</if_sid>
<field name="url">\.php.*(export_user_data|action=export_user_data)</field>
<regex>O:%d+:|O:8:</regex>
<description>WordPress Export User Data plugin PHP Object Injection attempt (CVE-2026-65552)</description>
<group>cve-2026-65552,attack.t1190,</group>
<mitre>
<id>T1190</id>
</mitre>
<options>no_full_log</options>
</rule>
</group>
Mitigation & Patch Guidance
Patch Confidence: 0/4 (UNPATCHED)
No official patch exists for this vulnerability as of this report. The vendor (Patchstack) has not released a fixed version.
Immediate Mitigations (Temporary):
- Disable/Uninstall the Plugin: Immediately disable and delete the "Export User Data" plugin (versions ≤ 2.2.6) from any WordPress installation. This is the only certain way to eliminate the attack surface.
- Web Application Firewall (WAF): Deploy WAF rules to block requests containing suspicious serialized PHP object patterns (e.g.,
O:\d+:"), specifically targeting parameters feeding the plugin's export functionality. - Restrict Access: If disabling the plugin is not immediately possible, block unauthenticated access to the plugin's directory and AJAX endpoints using
.htaccessor server-level rules. - Monitor Logs: Actively hunt for exploitation attempts using the detection rules above. Watch for anomalous POST requests to
admin-ajax.php. - Credential Rotation: Rotate all database credentials and WordPress
AUTH_KEYsalts if any suspicion of compromise exists.
Patch/Upgrade Steps:
- Monitor the vendor's repository, WordPress plugin directory, and Patchstack advisories for version 3.0 or a security release that addresses CVE-2026-65552.
- As soon as a patched version is available, upgrade immediately:
wp-cli: wp plugin update export-user-data WordPress Admin: Plugins → Installed Plugins → Export User Data → Update Now
Long-Term Hardening:
- Least Privilege: Run WordPress in a PHP environment with
disable_functionsset to block dangerous functions (e.g.,exec,system,passthru,shell_exec). - Network Segmentation: Host WordPress on isolated infrastructure to limit blast radius in case of compromise.
- Regular Auditing: Subscribe to CVE feeds and WordPress security advisories. Audit all plugins monthly for vulnerabilities.
- Backup Strategy: Maintain off-site, immutable backups. Test restoration procedures regularly.
- Harden PHP Configuration: Set
unserialize_callback_funcand ensurephar.readonly=1to disrupt deserialization-based attacks. - Application Security: Consider implementing a WordPress-specific security plugin that provides virtual patching capabilities (e.g., Wordfence, Sucuri) to block malicious payloads before the vulnerable code is reached.
References
- National Vulnerability Database (NVD): https://nvd.nist.gov/vuln/detail/CVE-2026-65552
- Patchstack Advisory (Vendor CNA): https://patchstack.com/database/vulnerability/export-user-data
- WordPress Plugin Directory: https://wordpress.org/plugins/export-user-data/
- OWASP CWE-502 Deserialization of Untrusted Data: https://cwe.mitre.org/data/definitions/502.html
- CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog (as of writing, CVE-2026-65552 is NOT listed — monitor for updates)
Exploit-in-the-Wild Status: Unknown at publication time. While no public PoC or active exploit campaign has been confirmed, the vulnerability class (PHP Object Injection with unauthenticated access) is extremely well-understood by attackers, and weaponization is expected within weeks of public disclosure. Given the CVSS 9.8 score and lack of patch, high-risk sites should assume they are at imminent risk.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.