Skip to main content

PPWP Plugin CVE-2026-0551

| EUVDEUVD-2026-64607 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-08-23 security@wordfence.com GHSA-fgg6-3rw5-h3j8
8.8
CVSS 3.1 · Vendor: wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain Contributor-level WordPress account
  2. Delivery
    Submit crafted serialized payload via 'post_protection_roles' parameter
  3. Exploit
    Trigger PHP deserialization of untrusted input
  4. Execution
    Instantiate attacker-controlled PHP objects
  5. Persist
    Invoke POP chain from co-installed plugin or theme
  6. Impact
    Execute 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

PPWP – Password Protect Pages 0 ≤1.9.18

Affected Packages

euvd ppwp_password_protect_pages no fix

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

Vendor (wordfence) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 7.5 HIGH

POP chain from a co-installed plugin is a required attack condition beyond attacker control, warranting AC:H over the provided AC:L.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (wordfence).

CVSS VectorVendor: wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.7%
Top 48% exploitable
Prevalence
Medium
popular WordPress password-protection plugin, not universally deployed
Social Media
4
Sightings
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.7%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

45
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

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

CVE-2012-1823 CRITICAL POC
9.8 May 11

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

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

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

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

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

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy