Skip to content
Threat Feed
high advisory

PHP Object Injection in PPWP Password Protect Pages Plugin

The PPWP WordPress plugin contains a PHP Object Injection vulnerability in the post_protection_roles parameter, allowing authenticated attackers to achieve remote code execution if a compatible POP chain exists in the environment.

CVE search metadata

CVE search record: CVE-2026-0551. Severity: high. CVSS: 8.8. KEV: no. Product: PPWP. Brief: PHP Object Injection in PPWP Password Protect Pages Plugin. Brief link: https://feed.craftedsignal.io/briefs/2026-08-ppwp-php-injection/

The PPWP (Password Protect Pages) plugin for WordPress, versions 1.9.18 and earlier, contains a critical PHP Object Injection vulnerability identified as CVE-2026-0551. The flaw resides in the 'post_protection_roles' parameter, which improperly deserializes user-supplied input. While the plugin itself does not ship with a Property-Oriented Programming (POP) chain, the vulnerability is highly dangerous in environments where other themes or plugins provide gadgets that an attacker can chain together. Successful exploitation requires an attacker to possess Contributor-level access or higher on the WordPress instance. Depending on the available gadget chain, an attacker may achieve arbitrary file deletion, sensitive data retrieval, or remote code execution. This vulnerability highlights the risks associated with insecure deserialization in CMS extensions where the security posture depends on the entire plugin ecosystem rather than a single component.

Impact

The vulnerability carries a CVSS 3.1 score of 8.8, reflecting the potential for significant impact including complete system compromise or data exfiltration. Because it requires authenticated access (Contributor role), the primary risk is for WordPress sites that allow broad user registration or have been compromised at the contributor level. The damage is highly variable based on the presence of vulnerable third-party code, which effectively serves as a payload delivery mechanism for the injection.

Recommendation

  • Update the PPWP plugin to version 1.9.19 or the latest available release immediately to remediate the insecure deserialization flaw in the 'post_protection_roles' parameter.
  • Audit the WordPress environment for installed plugins and themes to identify potential POP chain gadgets that could be leveraged by this injection vector.
  • Restrict user registration and monitor contributor-level accounts for unauthorized configuration changes or suspicious plugin management activity.
  • Implement web application firewall (WAF) rules to inspect HTTP POST requests for serialized PHP objects (e.g., strings starting with O:[0-9]+:) within the 'post_protection_roles' parameter.

Immediate actions

Update PPWP plugin to version 1.9.19 or higher

IT Operations 24h

Mitigations

Patch WordPress environment

immediate IT Operations

CVE-2026-0551

Detection coverage 1

Detects CVE-2026-0551 Exploitation - PHP Object Injection in PPWP

high

Detects attempts to pass serialized PHP objects via the post_protection_roles parameter, which is a known entry point for CVE-2026-0551.

sigma tactics: initial_access techniques: T1190 sources: webserver

Detection queries are available on the platform. Get full rules →