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

Impact

The PPWP – Password Protect Pages plugin is vulnerable to a stored Cross‑Site Scripting flaw through its ppwp shortcode attributes. Insufficient input sanitization and output escaping allow an authenticated user with contributor-level access or higher to inject arbitrary JavaScript into pages. When the affected page is viewed, the injected script executes in the victim’s browser, potentially leading to data theft, session hijacking, or defacement. This vulnerability falls under CWE‑79.

Affected Systems

A WordPress site running the PPWP – Password Protect Pages plugin from any buildwps build, specifically all versions up to and including 1.9.21. The problem exists in every release prior to 1.9.22, regardless of configuration, because the filtering deficiency is in the core shortcode handler.

Risk and Exploitability

The CVSS score of 6.4 indicates medium severity; the EPSS score is not available, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalogue. Exploitation requires an authenticated user with contributor or higher permissions, so the threat is limited to accounts with write access to shortcode content. If such an account is compromised or a legitimate contributor misuses the shortcode, the vulnerability can be leveraged to deface or hijack sessions for any visitor to the impacted page. Given the lack of a publicly known zero‑day exploit, the risk remains medium unless the attacker gains contributor access.

Generated by OpenCVE AI on August 13, 2026 at 09:29 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the PPWP – Password Protect Pages plugin to a version newer than 1.9.21 to remove the XSS flaw.
  • If a quick upgrade is not possible, deactivate or uninstall the PPWP – Password Protect Pages plugin so that the vulnerable code path is no longer reachable.
  • Review and sanitize all existing ppwp shortcode attributes on protected pages, removing any embedded scripts that may have been injected.

Generated by OpenCVE AI on August 13, 2026 at 09:29 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 13 Aug 2026 08:00:00 +0000

Type Values Removed Values Added
Description 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.
Title PPWP – Password Protect Pages <= 1.9.21 - Authenticated (Contributor+) Stored Cross-Site Scripting via Shortcode Attributes
Weaknesses CWE-79
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-08-13T07:37:52.468Z

Reserved: 2026-03-06T15:52:13.573Z

Link: CVE-2026-3639

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-13T08:16:46.093

Modified: 2026-08-13T08:16:46.093

Link: CVE-2026-3639

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T09:30:07Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')