CVE-2025-52805
Executive Summary
CVE-2025-52805 is a critical path traversal vulnerability in the VaultDweller Leyka WordPress plugin, affecting versions up to and including 3.32.1. The vulnerability allows an unauthenticated attacker to perform PHP Local File Inclusion (LFI) by exploiting a .../...// traversal pattern. This enables reading sensitive files on the server, such as /etc/passwd or WordPress configuration files, potentially leading to credential disclosure and further compromise. The CVSS score is 7.5 (High), and no patch 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 affects the Leyka WordPress plugin, which is distributed through the WordPress plugin repository and third-party marketplaces. Since the plugin is unpatched, all installations are at risk. Organizations using Leyka should immediately assess their exposure and consider disabling the plugin until a fix is released.
CVSS Breakdown & Threat Level
- CVSS Score: 7.5 (High)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: None
- Availability Impact: None
The vulnerability is easily exploitable remotely without authentication, making it a high-priority threat for any site running the vulnerable plugin.
Deep Dive & Mechanics
The vulnerability resides in the Leyka plugin's file inclusion mechanism, likely within a function that handles template loading or file retrieval. The .../...// pattern bypasses typical path traversal filters by using triple dots and double slashes, which some sanitization routines fail to normalize. For example, .../...//etc/passwd may be interpreted as ../../../etc/passwd after processing.
The attack works by sending a crafted HTTP request to a vulnerable endpoint (e.g., ?leyka_template=.../...//etc/passwd). The plugin then includes the specified file without proper validation, leading to LFI.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is presumed to be in the plugin's file inclusion logic. A typical vulnerable snippet might look like:
// Vulnerable code (hypothetical)
$template = $_GET['leyka_template'];
include(plugin_dir_path(__FILE__) . 'templates/' . $template . '.php');
A patched version would sanitize the input:
// Patched code (hypothetical)
$template = basename($_GET['leyka_template']);
$template = str_replace(array('..', '/', '\\'), '', $template);
include(plugin_dir_path(__FILE__) . 'templates/' . $template . '.php');
Exploitation & Lab Setup
Red Team
Prerequisites: A WordPress site with Leyka plugin version <= 3.32.1.
Exploit Steps:
- Identify the vulnerable parameter (e.g.,
leyka_template). - Craft a payload using the
.../...//pattern to traverse directories. - Send the request to read sensitive files.
Example cURL command:
curl -v "http://target.com/?leyka_template=.../...//.../...//etc/passwd"
Expected output: Contents of /etc/passwd or a PHP error if the file is not found.
Blue Team
Detection: Monitor for unusual GET parameters containing .../...// or multiple directory traversal sequences. Look for requests to wp-content/plugins/leyka/ with suspicious query strings.
Honeypot: Deploy a fake leyka_template endpoint that logs all requests and alerts on traversal patterns.
Lab Setup:
- Install WordPress and Leyka plugin version 3.32.1.
- Create a test page that triggers the vulnerable parameter.
- Use the exploit to confirm LFI.
Indicators of Compromise (IOCs)
- Network: HTTP requests containing
.../...//in query parameters. - File System: Unexpected inclusion of system files (e.g.,
/etc/passwd,/etc/shadow). - Logs: PHP error logs showing
include()failures for non-existent paths. - Process: Unusual file read operations by the web server user.
Detection Engineering
YARA Rule
rule CVE_2025_52805_Leyka_LFI {
meta:
description = "Detects path traversal attempts against Leyka plugin"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-52805"
strings:
$traversal = ".../...//"
$leyka_param = "leyka_template"
condition:
any of ($traversal) and any of ($leyka_param)
}
Sigma Rule
title: Leyka Plugin Path Traversal Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with .../...// pattern targeting Leyka plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains: '.../...//'
cs-uri-query|contains: 'leyka_template'
condition: selection
falsepositives:
- Legitimate use of similar patterns (unlikely)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-52805 Leyka LFI Attempt"; flow:to_server,established; content:".../...//"; http_uri; content:"leyka_template"; http_uri; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the Leyka plugin until a patch is released.
- Implement a Web Application Firewall (WAF) rule to block
.../...//patterns. - Restrict file inclusion to a whitelist of allowed templates.
Long-term Fix:
- Apply input validation and sanitization to all file inclusion parameters.
- Use
basename()andrealpath()to prevent directory traversal. - Monitor the plugin's official repository for updates.
Valters IT
Securing Digital Frontiers
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.