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.
- Component
- PPWP – Password Protect Pages
- Plugin slug
password-protect-page- Affected
- <= 1.9.20
- Safe version
- See mitigation notes
- Published
- Aug 16, 2026
This CVE was published Aug 16, 2026 and is one of 7 known issues for this plugin.
Update, patch or deactivate.
This archive could not verify a fixed version from the official author release notes reviewed on 2026-10-13. Disable the affected feature or component where practical until remediation for the deployed configuration is established. restrict Contributors, disable the affected password-management action when possible, and reset and audit protected-post passwords. Official author release notes: https://wordpress.org/plugins/password-protect-page/.
No confirmed safe version is listed. Consider a vendor-supported patch or temporarily restricting the affected functionality while you assess the risk.
Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.
Technical description
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.
CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N