CVE-2025-14388
WordPress vulnerability analysis and mitigation

Overview

CVE-2025-14388 is an unauthenticated arbitrary file read vulnerability in the PhastPress plugin for WordPress, exploitable via null byte injection. It affects all versions of PhastPress up to and including 3.7, and was published on December 23, 2025, with Wordfence credited as the assigning authority. The vulnerability carries a CVSS v3.1 base score of 9.8 (Critical), reflecting its network-accessible, no-authentication-required attack surface (Red Hat CVE, Wordfence).

Technical details

The root cause is classified as CWE-158 (Improper Neutralization of Null Byte or NUL Character), arising from a discrepancy between two path-handling functions in phast.php. The getExtensionForURL() function performs extension validation on URL-decoded paths, while appendNormalized() strips everything after a null byte when constructing the filesystem path. An unauthenticated attacker can exploit this by appending a double URL-encoded null byte (%2500) followed by an allowed extension (e.g., .txt) to a file path request — the extension check passes (seeing .txt), but the filesystem path resolves to the target file (e.g., wp-config.php) after null byte truncation. No authentication or special privileges are required, and the attack is conducted entirely over the network (Wordfence, ENISA EUVD).

Impact

Successful exploitation allows unauthenticated remote attackers to read arbitrary files from the WordPress webroot, with the most critical risk being exposure of wp-config.php. This file typically contains database credentials, authentication keys, and salts, which could enable an attacker to achieve full WordPress site compromise, access the underlying database, or pivot to other systems. The confidentiality, integrity, and availability impacts are all rated High, reflecting the potential for complete system compromise following credential exposure (Red Hat CVE, The Hacker Wire).

Exploitability

As of the time of disclosure, there is no public proof-of-concept exploit and no confirmed evidence of in-the-wild exploitation (Wordfence). A Nuclei template pull request was submitted to the ProjectDiscovery repository, indicating community interest in automated detection (GitHub). The EPSS score is approximately 0.053%, reflecting a currently low but non-negligible probability of exploitation. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog at this time.

Exploitation steps

  1. Reconnaissance: Identify WordPress sites running the PhastPress plugin (version ≤ 3.7) using passive techniques such as checking /wp-content/plugins/phastpress/ for plugin presence, or using tools like WPScan.
  2. Craft malicious request: Construct an HTTP GET request targeting the PhastPress file-serving endpoint, appending a double URL-encoded null byte followed by an allowed extension to the desired file path. For example, to read wp-config.php, the path would be crafted as: wp-config.php%2500.txt.
  3. Bypass extension validation: The getExtensionForURL() function sees .txt as the extension (after URL decoding %2500 to %00), passing the allowlist check.
  4. Trigger null byte truncation: When appendNormalized() constructs the filesystem path, it strips everything after the null byte (%00), resolving the path to wp-config.php.
  5. Retrieve sensitive file: The server returns the contents of wp-config.php (or any other targeted webroot file) in the HTTP response, exposing database credentials, API keys, and authentication salts to the attacker (Wordfence, ENISA EUVD).

Indicators of compromise

  • Network: Unusual HTTP GET requests to PhastPress file-serving endpoints containing %2500 (double URL-encoded null byte) in the path parameter, particularly targeting sensitive files like wp-config.php, .env, or other configuration files.
  • Logs: Web server access logs showing requests with %2500.txt or similar null-byte-plus-extension patterns; repeated requests from a single IP to PhastPress endpoints with varying file path targets.
  • File System: No direct file system artifacts are expected from a read-only exploit, but evidence of subsequent compromise (e.g., new admin accounts, modified files) may follow credential theft from wp-config.php.
  • Application Logs: WordPress or PHP error logs showing unexpected file access attempts or path traversal patterns originating from PhastPress plugin code.

Mitigation and workarounds

Users should immediately update the PhastPress plugin to a version beyond 3.7, which contains the fix for this vulnerability (Wordfence, WordPress Changeset). If an immediate update is not possible, consider temporarily deactivating the PhastPress plugin to eliminate the attack surface. Additionally, implement web application firewall (WAF) rules to block requests containing %2500 or null byte sequences in URL paths, and monitor web server logs for exploitation attempts.

Community reactions

Wordfence published the vulnerability details and included it in their weekly WordPress vulnerability report covering December 15, 2025 to January 4, 2026 (Wordfence Blog). The Hacker Wire covered the disclosure with a dedicated article highlighting the risk of wp-config.php exposure (The Hacker Wire). CISA included the vulnerability in its weekly bulletin for the week of December 22, 2025 (CISA Bulletin). Community interest was noted on Mastodon and Bluesky, and a Nuclei detection template was submitted to ProjectDiscovery's repository.

Additional resources


SourceThis report was generated using AI

Related WordPress vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-16955NONEN/A
  • ai-engine
NoYesAug 08, 2026
CVE-2026-16953NONEN/A
  • ai-engine
NoYesAug 08, 2026
CVE-2026-16948NONEN/A
  • solace-extra
NoYesAug 08, 2026
CVE-2026-16608NONEN/A
  • download-monitor
NoYesAug 08, 2026
CVE-2026-16595NONEN/A
  • wpdirectorykit
NoYesAug 08, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management