CVE-2026-116520: PPWP (WordPress plugin) · Cross-site Scripting
Affects PPWP (WordPress plugin)Source CVE Database V5
Not known to be exploited · CVSS 7.2 High.
Data as of 31 Oct 2026, 06:06 UTC
Thin evidence
One scorer or none| CNA (Wordfence) | CVSS 3.1 | 7.2 |
|---|
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:NExploitation evidence
Disclosed: evidence found.
CVE published 31 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 30 Oct 2026.
What to do
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| buildwpsPPWP – Password Protect Pages | Affected
| Fixed in– |
AI-suggested
Until a fix is available, consider disabling the affected shortcode attribute or restricting comment functionality to trusted users to reduce exposure. Monitor vendor channels for updates and apply patches promptly once released.
Description
The PPWP – Password Protect Pages WordPress plugin up to version 1.9.26 is vulnerable to a stored Cross-Site Scripting (XSS) flaw via the 'desc_below_form' shortcode attribute and comment parameter. This vulnerability allows unauthenticated attackers to inject malicious scripts that execute when users access the affected pages. The issue arises from insufficient input sanitization and output escaping combined with WordPress comment filtering behavior and auto-approval of comments from previously approved users.
References
- wordfence.com/threat-intel/vulnerabilities/id/c549ba14-276e-46ab-8019-97430a566d8c?source=cve (opens in a new tab)
- plugins.trac.wordpress.org/browser/password-protect-page/tags/1.9.26/includes/services/class-ppw-shortcode.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/password-protect-page/tags/1.9.26/includes/services/class-ppw-shortcode.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/password-protect-page/tags/1.9.26/includes/views/shortcode/view-ppw-restriced-content-form.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/password-protect-page/tags/1.9.26/includes/services/class-ppw-shortcode.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/password-protect-page/tags/1.9.26/includes/services/class-ppw-shortcode.php (opens in a new tab)
- plugins.trac.wordpress.org/browser/password-protect-page/tags/1.9.26/includes/services/class-ppw-shortcode.php (opens in a new tab)
- plugins.trac.wordpress.org/changeset/3772960/password-protect-page/trunk/includes/services/class-ppw-shortcode.php (opens in a new tab)