PhastPress <= 3.7 - Unauthenticated Arbitrary File Read via Null Byte Injection
Strategic Overview
- Status
- Patched in 3.8
- Affected Plugin
- PhastPress
- Affected Version
<= 3.7- CVSS
- 9.8Critical
- Weakness type
- CWE-158 · Improper Neutralization of Null Byte or NUL Character
- CVE
CVE-2025-14388
At a glance
CVE-2025-14388 is a critical-severity Improper Neutralization of Null Byte or NUL Character vulnerability in the PhastPress WordPress plugin, affecting versions <= 3.7. It carries a CVSS score of 9.8 (reachable over the network; low attack complexity; high confidentiality, integrity, availability impact). Exploitation requires no authentication. The issue is fixed in version 3.8; sites on affected versions should update now. Disclosed December 2025, reported by shark3y.
Vulnerability Overview
The PhastPress plugin for WordPress is vulnerable to Unauthenticated Arbitrary File Read via null byte injection in all versions up to, and including, 3.7. This is due to a discrepancy between the extension validation in `getExtensionForURL()` which operates on URL-decoded paths, and `appendNormalized()` which strips everything after a null byte before constructing the filesystem path. This makes it possible for unauthenticated attackers to read arbitrary files from the webroot, including wp-config.php, by appending a double URL-encoded null byte (%2500) followed by an allowed extension (.txt) to the file path.
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. A successful exploit has high impact on confidentiality, integrity, availability — full site compromise territory.
CWE-158: Improper Neutralization of Null Byte or NUL Character
The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes NUL characters or null bytes when they are sent to a downstream component.
Remediation
Update to version 3.8, 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: PhastPress 3.8 closes this, and updating the plugin is the step that ends it.
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in PhastPress
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C