Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Contributor-level WordPress account
-
DeliverySubmit crafted serialized payload via 'post_protection_roles' parameter
-
ExploitTrigger PHP deserialization of untrusted input
-
ExecutionInstantiate attacker-controlled PHP objects
-
PersistInvoke POP chain from co-installed plugin or theme
-
ImpactExecute arbitrary actions (file deletion, data exfiltration, or RCE)
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 an authenticated WordPress session at Contributor level or above - this is not an unauthenticated attack. The CVSS vector PR:L confirms a low-privilege authenticated account is the minimum threshold. Beyond account access, a second independent condition must be satisfied: a Property-Oriented Programming (POP) chain must be available through at least one additional installed plugin or theme on the target WordPress site; the PPWP plugin itself contains no known POP chain, meaning exploitation is impossible against a site running PPWP in isolation. Non-default configurations are not required - any site with a Contributor-enabled account and a vulnerable co-plugin is at risk. Factors limiting exploitation include: the necessity of a Contributor or higher account (not available by default on all WordPress deployments), the dependency on a co-installed POP chain source, and the absence of a known public POC or documented gadget chain specific to this vulnerability at time of analysis. |
| Impact | The NVD-assigned CVSS 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) reflects worst-case impact when a suitable POP chain is available, and Contributor-level access is the privilege floor - a relatively low bar on many community-driven WordPress sites that allow open registration. However, the critical moderating factor is the POP chain dependency: without a co-installed plugin or theme supplying gadgets, this vulnerability has confirmed zero exploitable impact. This creates a split-risk profile - for sites running only PPWP in isolation it is effectively a non-issue, while sites running PPWP alongside popular plugin stacks face meaningful risk. EPSS data was not provided in the input, so probabilistic exploitation likelihood cannot be quantified. No CISA KEV listing exists, and no public POC has been identified, suggesting exploitation has not yet been industrialized. SSVC signals point to limited exploitation activity and human-mediated (not automated) attack complexity given the POP chain prerequisite. The real-world priority is moderate-to-high for sites with diverse plugin stacks; lower for minimal installations. |
| Exploit ScenarioDerived | An attacker who holds or obtains a Contributor-level WordPress account - obtainable through open site registration, credential stuffing, or social engineering - submits a crafted, serialized PHP payload as the value of the 'post_protection_roles' parameter via the plugin's post-editing interface. The server deserializes the payload without validation, instantiating attacker-chosen PHP objects; if a co-installed plugin such as a page builder or e-commerce extension exposes a usable POP chain, the resulting gadget chain executes, potentially deleting files, reading credentials from wp-config.php, or achieving remote code execution under the web server process. No public POC exploit has been identified at time of analysis, meaning exploitation currently requires attacker knowledge of a suitable POP gadget chain present on the target. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 23, 2026
PHP Object Injection in PPWP - Password Protect Pages (WordPress plugin, versions up to and including 1.9.18) permits authenticated attackers holding Contributor-level roles or higher to deserialize attacker-controlled data via the 'post_protection_roles' parameter, injecting arbitrary PHP objects into the application. Real-world impact is fully contingent on a Property-Oriented Programming (POP) chain being present in another co-installed plugin or theme - absent that chain, the vulnerability has no exploitable effect, but where one exists, outcomes can include arbitrary file deletion, sensitive data retrieval, or remote code execution. No public exploit code or active exploitation has been identified at time of analysis; however, a Wordfence advisory and a WordPress SVN changeset (3567221) both indicate a fix has been committed.
RemediationAI
The primary fix is to update the PPWP - Password Protect Pages plugin beyond version 1.9.18; an upstream fix has been committed to the WordPress SVN repository as changeset 3567221 (https://plugins.trac.wordpress.org/changeset/3567221/password-protect-page), though an exact released patched version number is not independently confirmed from the available intelligence - verify the current version in the WordPress plugin directory before deploying. As an immediate compensating control pending patch application, administrators should restrict Contributor-level role assignment to trusted users only, since this is the minimum privilege required to trigger the vulnerable parameter. Additionally, auditing co-installed plugins for known POP gadget chains (using tools such as phpggc) will clarify actual exploitability on a given site. Disabling the 'post_protection_roles' feature if not operationally required is another targeted mitigation, though this may affect legitimate role-based access control functionality. The Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/b8f53282-740e-4ac3-a2e1-7a97893e3355 should be monitored for patch version confirmation.
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 flaw resides in class-ppw-passwords.php (line 699) of the PPWP - Password Protect Pages plugin, classified under CWE-502 (Deserialization of Untrusted Data). PHP's native unserialize() function, when fed attacker-supplied input from the 'post_protection_roles' parameter, reconstructs arbitrary PHP objects whose magic methods (__wakeup, __destruct, __toString, etc.) can be chained into a POP gadget chain. The WordPress plugin ecosystem is a historically rich source of POP gadget chains - chains exist in widely-distributed plugins such as WooCommerce, Elementor, and others - making the actual attack surface broader than the isolated plugin footprint might suggest. No CPE strings were provided in the intelligence data; the affected product is identified as the WordPress.org plugin slug 'password-protect-page', all versions ≤ 1.9.18.
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:L/UI:N/S:U/C:H/I:H/A:H
POP chain from a co-installed plugin is a required attack condition beyond attacker control, warranting AC:H over the provided AC:L.
Primary rating from Vendor (wordfence).
CVSS VectorVendor: wordfence
DescriptionCVE.org
The PPWP - Password Protect Pages plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 1.9.18 via deserialization of untrusted input from the 'post_protection_roles' vulnerable parameter. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present.
Executive ViewAI
PPWP (Password Protect Pages) WordPress plugin versions through 1.9.18 contain a PHP object injection vulnerability (CVSS 8.8) exploitable by authenticated Contributor-level users. Real-world impact depends on vulnerable POP gadget chains in co-installed plugins or themes, but where present can enable remote code execution, data theft, or file deletion. Organizations must immediately audit installations and restrict Contributor-level access to trusted personnel until patched.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Restrict Contributor-level role assignments to essential personnel with documented business justification; (2) Conduct immediate audit of all installed plugins and themes for vulnerable POP gadget chains; (3) Implement monitoring and logging of Contributor-level account activity; (4) Monitor Wordfence and official WordPress repositories closely for patch release and apply immediately upon availability.
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.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-64607
GHSA-fgg6-3rw5-h3j8
NVD
CVE.org
EPSS
Exploit-DB