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.
Published: 2026-08-16
Score: 4.3 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The PPWP – Password Protect WordPress plugin allows authenticated users with Contributor role or higher to edit the password of any password‑protected post through the ppw_free_set_password AJAX action. Because the plugin does not validate user permissions on this action, an attacker who can log into the WordPress site as a Contributor can set any post’s password to a value they choose and then log in with that password to read the protected content. The vulnerability is an authorization bypass through a user‑controlled key, identified as CWE‑639. As a result, an attacker can gain unauthorized access to protected posts without needing administrative privileges.

Affected Systems

All installations of the PPWP – Password Protect Pages plugin with a version number 1.9.20 or earlier are vulnerable. The affected vendor is Buildwps, and the plugin is widely used as the leading password protection solution for WordPress sites.

Risk and Exploitability

The vulnerability carries a CVSS score of 4.3, indicating a low to medium severity. The EPSS score is not available, and the issue is not listed in CISA’s KEV catalog, suggesting limited exploitation activity to date. However, the attack requires only a Contributor‑level login, which is a common role on many sites. Once bypassed, the attacker can force any password‑protected post to a known or guessed password, thereby achieving unauthorized content access. Because the bug arises from missing validation rather than an accidental data leak, remediation is straightforward and should be applied promptly to prevent potential abuse.

Generated by OpenCVE AI on August 16, 2026 at 05:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade PPWP to a version newer than 1.9.20, where the ppw_free_set_password action is protected
  • Restrict the ppw_free_set_password AJAX endpoint to administrator users only or remove contributor roles that are not required
  • Review and audit role permissions for the plugin, and disable or limit the ability to change post passwords for lower‑privilege users

Generated by OpenCVE AI on August 16, 2026 at 05:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sun, 16 Aug 2026 04:45:00 +0000

Type Values Removed Values Added
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.
Title Password Protect WordPress Lite <= 1.9.20 - Insecure Direct Object Reference to Authenticated (Contributor+) Password Protected Post Password Update
Weaknesses CWE-639
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-08-16T04:24:55.404Z

Reserved: 2025-09-04T19:04:36.084Z

Link: CVE-2025-10005

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-16T05:16:44.747

Modified: 2026-08-16T05:16:44.747

Link: CVE-2025-10005

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-16T05:30:06Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key