Prevent Direct Access – Protect WordPress Files <= 2.8.8 - Unauthenticated Sensitive Information Exposure
Strategic Overview
- Status
- Patched in 2.8.8.1
- Affected Plugin
- Prevent Direct Access – Protect WordPress Files
- Affected Version
<= 2.8.8- CVSS
- 5.3Medium
- Weakness type
- CWE-200 · Exposure of Sensitive Information to an Unauthorized Actor
- CVE
CVE-2025-3923
At a glance
CVE-2025-3923 is a medium-severity Exposure of Sensitive Information to an Unauthorized Actor vulnerability in the Prevent Direct Access WordPress plugin, affecting versions <= 2.8.8. It carries a CVSS score of 5.3 (reachable over the network; low attack complexity). Exploitation requires no authentication. The issue is fixed in version 2.8.8.1; sites on affected versions should update now. Disclosed April 2025, reported by Tom Broucke.
Vulnerability Overview
The Prevent Direct Access – Protect WordPress Files plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 2.8.8 via the 'generate_unique_string' due to insufficient randomness of the generated file name. This makes it possible for unauthenticated attackers to extract sensitive data including files protected by the plugin if the attacker can determine the file name.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user.
CWE-200: Exposure of Sensitive Information to an Unauthorized Actor
Prevent Direct Access <= 2.8.8 carries this weakness at generate_unique_string, and reaching it takes no account at all. Sensitive information exposure means data the application intended to keep internal is returned to a caller who should not be able to see it.
The disclosed data — credentials, tokens, customer records or internal paths — is usually worth more as material for a follow-up attack than as an end in itself. For Prevent Direct Access the fix is 2.8.8.1: builds <= 2.8.8 are affected, anything from 2.8.8.1 onward is not.
Remediation
Update to version 2.8.8.1, or a newer patched version
How does WordSec protect against this?
This one needs no account at all, which puts it outside what login hardening can reach; WordSec's login security narrows the account-level paths around it, and the firewall is what inspects the request itself. None of that substitutes for the fix: Prevent Direct Access 2.8.8.1 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in Prevent Direct Access – Protect WordPress Files
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C