Prevent Direct Access – Protect WordPress Files <= 2.8.8.8 - Unauthenticated Protected File Access
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-285.
Summary
The Prevent Direct Access – Protect WordPress Files plugin for WordPress is vulnerable to unauthorized access of protected files due to insufficient token validation in the `get_advance_file_by_url()` method in all versions up to, and including, 2.8.8.8 The method uses a SQL `LIKE` operator for token lookup without escaping wildcard characters via `$wpdb->esc_like()`. This makes it possible for unauthenticated attackers to bypass the private token requirement by supplying SQL wildcard characters (such as `%`) as the token value, matching any record in the plugin's file table and downloading any protected file.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-3835
- 2026-10-03 Alias added: GHSA-xxpw-3xg9-qwph
References
Other 8
- https://www.wordfence.com/threat-intel/vulnerabilities/id/c39d16f1-ce80-402c-8a36-f9070dc5f9c9?source=cve
- https://plugins.trac.wordpress.org/browser/prevent-direct-access/trunk/includes/repository.php#L221
- https://plugins.trac.wordpress.org/browser/prevent-direct-access/tags/2.8.8.4/includes/repository.php#L221
- https://plugins.trac.wordpress.org/browser/prevent-direct-access/trunk/download.php#L377
- https://wordpress.org/plugins/prevent-direct-access/
- https://plugins.trac.wordpress.org/changeset?reponame=&new=3637502%40prevent-direct-access%2Ftags%2F2.8.8.9&old=3524320%40prevent-direct-access%2Ftags%2F2.8.8.8
- https://plugins.trac.wordpress.org/changeset/3637499/prevent-direct-access/trunk/includes/repository.php
- https://plugins.trac.wordpress.org/changeset?old_path=%2Fprevent-direct-access/tags/2.8.8.8&new_path=%2Fprevent-direct-access/tags/2.8.8.9
More buildwps vulnerabilities
- TI-2026-00354 PPWP – Password Protect Pages <= 1.9.18 - Authenticated (Contributor+) PHP Object Injection via post_protection_roles CVSS 3.1HIGH 8.8
- TI-2026-83464 Stored cross-site scripting in PPWP password protect plugin CVSS 3.1HIGH 7.2
- TI-2025-03469 Prevent Direct Access – Protect WordPress Files <= 2.8.8 - Unauthenticated Sensitive Information Exposure CVSS 3.1MEDIUM 5.3
- TI-2024-10450 PPWP – Password Protect Pages <= 1.9.5 - Unauthenticated Content Restriction Bypass to Sensitive Information Exposure CVSS 3.1MEDIUM 5.3
- TI-2026-03139 Cross-site scripting in buildwps PPWP – Password Protect Pages CVSS 3.1MEDIUM 6.4
- TI-2025-09063 Password Protect WordPress Lite <= 1.9.21 - Authenticated (Contributor+) Stored Cross-Site Scripting CVSS 3.1MEDIUM 6.4
Sources
- CVE-2026-3835 · CVE Program
- CVE-2026-3835 · NVD
- FIRST EPSS
- GHSA-xxpw-3xg9-qwph · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences