Plugins · password-protect-page · data as of 2026-11-04
Is PPWP safe? Known vulnerabilities and latest version
- Latest version
- 1.9.27
- Last updated
- 2026-10-29
- Active installs
- 30,000+
- Known issues on record
- 10
- Unpatched in latest
- 0
- Tested up to WP
- 7.1.4 · PHP 5.6+
Password protect WordPress pages and posts by user roles or with multiple passwords; protect your entire website with a single password. — by WP Folio Team
What to do
- Update to the latest version (1.9.27). Anything older than 1.9.27 has at least one known issue listed below. Dashboard → Updates, or Plugins → “update now”.
- If you cannot update right away, deactivate it until you can.
- Turn on auto-updates for it: Plugins → “Enable auto-updates” on its row.
- If you ran a vulnerable version and something looks off (spam pages, strange admins, redirects), run the free scan.
With WP-CLI: wp plugin get password-protect-page --field=version shows what you run; wp plugin update password-protect-page updates it.
Check your version
Known vulnerabilities
10 on record, newest first. “Affected” is the version range the source gives; “fixed in” is the version the source names, or (marked *) the first wordpress.org release after the last affected version.
high 7.2 CVE-2026-116520 · published 2026-10-31
Stored cross-site scripting (XSS) in PPWP (1.9.26 and older)
- Affected
- 1.9.26 and older
- Fixed in
- 1.9.27 *
- Access needed (per CVSS)
- No login needed
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The PPWP – Password Protect Pages plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'comment / shortcode attribute desc_below_form (and placeholder as the marker-smuggling helper)' parameter in all versions up to, and including, 1.9.26 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This is exploitable by unauthenticated attackers because WordPress's comment_content filter leaves bare shortcode text (containing no HTML tags) untouched, and the comment_whitelist setting auto-approves subsequent comments from a previously approved name and email without administrator intervention.
NVD CVE-2026-116520Wordfence advisoryCode change (fix)Plugin source
medium 6.4 CVE-2025-9878 · published 2026-08-25
Stored cross-site scripting (XSS) in PPWP (1.9.21 and older)
- Affected
- 1.9.21 and older
- Fixed in
- 1.9.22 *
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The PPWP – Password Protect WordPress | #1 Most-Reviewed Password Plugin plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's 'ppwp' shortcode in all versions up to, and including, 1.9.21 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
NVD CVE-2025-9878Wordfence advisoryCode change (fix)reserach.cleantalk.orgPlugin source
high 8.8 CVE-2026-0551 · published 2026-08-23
PHP object injection in PPWP (1.9.18 and older)
- Affected
- 1.9.18 and older
- Fixed in
- 1.9.19 *
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
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.
NVD CVE-2026-0551Wordfence advisoryCode change (fix)Plugin source
medium 4.3 CVE-2025-10005 · published 2026-08-16
Missing authorization check in PPWP (1.9.20 and older)
- Affected
- 1.9.20 and older
- Fixed in
- 1.9.21 *
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The PPWP – Password Protect WordPress | #1 Most-Reviewed Password Plugin plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 1.9.20 via the ppw_free_set_password AJAX action due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with Contributor-level access and above, to update the password on any password protected post and subsequently access the content.
NVD CVE-2025-10005Wordfence advisoryCode change (fix)research.cleantalk.org
medium 6.4 CVE-2026-3639 · published 2026-08-13
Stored cross-site scripting (XSS) in PPWP (1.9.21 and older)
- Affected
- 1.9.21 and older
- Fixed in
- 1.9.22 *
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The PPWP – Password Protect Pages plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the plugin's `ppwp` shortcode attributes in all versions up to, and including, 1.9.21 due to insufficient input sanitization and output escaping on user supplied attributes. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
NVD CVE-2026-3639Wordfence advisoryCode change (fix)Plugin source
medium 4.3 CVE-2026-57634 · published 2026-06-26
Missing authorization check in PPWP (1.9.19 and older)
- Affected
- 1.9.19 and older
- Fixed in
- 1.9.20
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by Patchstack
Details from the advisory
Contributor Insecure Direct Object References (IDOR) in PPWP <= 1.9.19 versions.
medium 5.4 CVE-2026-32562 · published 2026-03-25
Missing authorization check in PPWP (1.9.15 and older)
- Affected
- 1.9.15 and older
- Fixed in
- 1.9.16
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- advisory text · score by Patchstack
Details from the advisory
Missing Authorization vulnerability in WP Folio Team PPWP password-protect-page allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects PPWP: from n/a through <= 1.9.15.
medium 6.5 CVE-2025-5998 · published 2025-08-14
Security issue in PPWP (older than 1.9.11)
- Affected
- older than 1.9.11
- Fixed in
- 1.9.11
- Access needed (per CVSS)
- Needs a low-level account (e.g. subscriber)
- Range from
- CVE record (the advisory publisher) · score by CISA ADP
Details from the advisory
The PPWP – Password Protect Pages WordPress plugin before version 1.9.11 allows to put the site content behind a password authorization, however users with subscriber or greater roles can view content via the REST API.
medium 5.3 CVE-2024-11280 · published 2024-12-17
Information disclosure in PPWP (1.9.5 and older)
- Affected
- 1.9.5 and older
- Fixed in
- 1.9.6 *
- Access needed (per CVSS)
- No login needed
- Range from
- CVE record (the advisory publisher) · score by Wordfence
Details from the advisory
The PPWP – Password Protect Pages plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.9.5 via the WordPress core search feature. This makes it possible for unauthenticated attackers to extract sensitive data from posts that have been restricted to higher-level roles such as administrator.
medium 5.3 CVE-2024-0620 · published 2024-02-29
Information disclosure in PPWP (1.8.9 and older)
- Affected
- 1.8.9 and older
- Fixed in
- 1.9.0 *
- Access needed (per CVSS)
- No login needed
- Range from
- CVE record (the advisory publisher) · score by NVD
Details from the advisory
The PPWP – Password Protect Pages plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 1.8.9 via API. This makes it possible for unauthenticated attackers to obtain post titles, IDs, slugs as well as other information including for password-protected posts.
Recent activity
- 2026-10-29 — latest release on wordpress.org (1.9.27).
- 2026-10-31 — Stored cross-site scripting (XSS) disclosed (CVE-2026-116520), fixed in 1.9.27.
- 2026-08-25 — Stored cross-site scripting (XSS) disclosed (CVE-2025-9878), fixed in 1.9.22.
- 2026-08-23 — PHP object injection disclosed (CVE-2026-0551), fixed in 1.9.19.
Get an email when PPWP has a new vulnerability
Free. We check the CVE feeds every day and email you only when a new issue for PPWP (password-protect-page) is published or a fix ships. Unsubscribe in one click.
Browse vulnerabilities
- Published this week
- Unpatched in the latest version
- By type of vulnerability
- Plugins by WP Folio Team (2 tracked)
Types found in this plugin: Cross-site scripting (XSS) (3) · Missing authorization (3) · Sensitive data exposure (2) · PHP object injection (1)
Where this data comes from
- Version, last update, installs: wordpress.org/plugins/password-protect-page (Plugins API), fetched 2026-11-04.
- Vulnerabilities: NIST National Vulnerability Database (NVD), checked 2026-11-04. This product uses data from the NVD API but is not endorsed or certified by the NVD.
- Each record links to its CVE page and to the original advisory (Wordfence, Patchstack or WPScan) where there is one. We only list a CVE here when its references or its advisory name this exact plugin, so a few real issues may be missing; none should be about a different plugin. Spot an error? Email Daniel.
Badge for your site or docs (states facts with a date, not a verdict):
<a href="https://laskyr.com/plugins/password-protect-page"><img src="https://laskyr.com/plugins/password-protect-page/badge.svg" alt="PPWP vulnerability status"></a>