← WordPress Vulnerabilities
WordPress security by component

PPWP

PPWP protects WordPress pages and posts with configurable passwords.

PPWP (password-protect-page) is a WordPress plugin with 7 published CVE records in this archive. The latest tracked vulnerability was published Aug 25, 2026; the highest published CVSS base score is 8.8.

Plugin slug: password-protect-page

CVE-2025-9878: PPWP permits Contributor-level stored cross-site scripting

PPWP through 1.9.21 lets a Contributor or higher store script-capable values in attributes of the ppwp shortcode. Insufficient sanitization and output escaping cause the payload to execute when a visitor opens the affected page.

PublishedAug 25, 2026
Known safe version1.9.22
Published vulnerabilities for password-protect-page
Safe version
Aug 25, 2026 CVE-2025-9878
PPWP permits Contributor-level stored cross-site scripting
PPWP through 1.9.21 lets a Contributor or higher store script-capable values in attributes of the ppwp shortcode. Insufficient sanitization and output escaping cause the payload to execute when a visitor opens the affected page.
1.9.22
CVE6.4
Aug 23, 2026 CVE-2026-0551
PPWP permits Contributor-level PHP object injection
PPWP through 1.9.18 deserializes untrusted data from the post_protection_roles parameter. A Contributor or higher can inject a PHP object; PPWP does not itself contain a known POP chain, so further impact requires another installed plugin or theme with a usable chain. Depending on that chain, exploitation could disclose data, delete files or execute code.
See mitigation notes
CVE8.8
Aug 19, 2026 CVE-2025-11729
PPWP Contributors can retrieve the master password for protected content
PPWP through 1.9.15 applies an improper capability check in can_access(). A Contributor can retrieve a master password and use it to open any content protected by the plugin.
See mitigation notes
CVE4.3
Aug 16, 2026 CVE-2025-10005
PPWP password update action permits cross-post IDOR
PPWP – Password Protect Pages through 1.9.20 exposes the ppw_free_set_password AJAX action without verifying that the authenticated Contributor can manage the attacker-selected password-protected post. A Contributor can change the password on another protected post and then use the new password to access its content.
See mitigation notes
CVE4.3
Aug 13, 2026 CVE-2026-3639
PPWP shortcode attributes permit Contributor stored XSS
PPWP – Password Protect Pages through 1.9.21 lets a Contributor or higher store script-capable values in the placeholder or button attributes of a ppwp shortcode. PPW_Service_Shortcode::get_restricted_content_form() passed those values through general HTML sanitization but inserted them into the password form's placeholder and submit-button value attributes without attribute-context escaping. The payload therefore executes when a visitor opens the affected page. Version 1.9.22 applies esc_attr() to both values.
1.9.22
CVE6.4
Jun 26, 2026 CVE-2026-57634
PPWP: Broken access control
PPWP is affected by broken access control. Exploitation requires an authenticated contributor account. A successful request can reach data or an operation that should be restricted to another user or a more privileged role. The published affected range is n/a through 1.9.19.
1.9.20
CVE4.3
Mar 25, 2026 CVE-2026-32562
PPWP: A security weakness
PPWP is affected by a security weakness. Exposure depends on how the affected operation is made reachable by the site. The resulting impact depends on how the affected component exposes the vulnerable operation. The published affected range is n/a through <= 1.9.15.
1.9.16
CVE5.4