CVE-2025-27011
Executive Summary
CVE-2025-27011 is a critical vulnerability in the WordPress plugin Booking and Rental Manager for WooCommerce by magepeopleteam. This flaw allows an unauthenticated attacker to perform a PHP Local File Inclusion (LFI) attack via improper control of a filename used in an include/require statement. The vulnerability affects all versions up to and including 2.2.8. With a CVSS score of 7.5, it poses a high risk to confidentiality, as an attacker can read sensitive files from the server (e.g., /etc/passwd, wp-config.php). No patch is currently available, and no public proof-of-concept (PoC) or exploit code has been released.
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 resides in a WordPress plugin distributed via the official WordPress plugin repository. Users who have installed the plugin from the WordPress dashboard or via direct download are affected. The plugin is not available on NPM, PyPI, Go, or Ruby ecosystems. The lack of a patch means that all installations are currently at risk, and supply chain security is compromised until a fix is released.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
- Attack Complexity (AC): Low (L) – No special conditions are required.
- Privileges Required (PR): None (N) – No authentication needed.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The exploit does not affect other components.
- Confidentiality (C): High (H) – Sensitive files can be read.
- Integrity (I): None (N) – No file modification possible.
- Availability (A): None (N) – No denial of service.
Threat Level: High. The vulnerability is remotely exploitable without authentication, allowing an attacker to read arbitrary files on the server, including database credentials and configuration files.
Deep Dive & Mechanics
The vulnerability stems from improper sanitization of a filename parameter used in a PHP include() or require() statement. In the Booking and Rental Manager plugin, a user-supplied input (likely via a GET or POST parameter) is passed directly to a file inclusion function without proper validation. An attacker can manipulate this parameter to include local files from the server, such as:
/etc/passwd– to enumerate system users./wp-config.php– to retrieve database credentials and salts./proc/self/environ– to leak environment variables.
The attack is possible because the plugin does not restrict the path to a specific directory or apply allow-lists for allowed files. The PHP function include() or require() will execute the included file as PHP code if it contains PHP tags, but even non-PHP files can be read as plaintext if the server is configured to output them.
Vulnerable vs. Patched Code
Since no patch is available, we can only analyze the vulnerable code pattern. The vulnerable code likely resembles:
// Vulnerable code (example)
$file = $_GET['file'];
include($file);
A patched version would implement strict validation:
// Patched code (example)
$allowed_files = array('template1.php', 'template2.php');
$file = basename($_GET['file']);
if (in_array($file, $allowed_files)) {
include($file);
} else {
// Handle error
}
The patched code uses basename() to strip directory traversal sequences and an allow-list to restrict inclusion to specific files.
Exploitation & Lab Setup
Red Team (Attacker)
Lab Setup:
- Install WordPress with the Booking and Rental Manager plugin version 2.2.8.
- Ensure the server is accessible over the network.
Exploitation Steps:
- Identify the vulnerable parameter (e.g.,
file,template,page). Common endpoints include:/wp-content/plugins/booking-and-rental-manager-for-woocommerce/includes/
- Craft a request to read
/etc/passwd:GET /wp-content/plugins/booking-and-rental-manager-for-woocommerce/includes/load.php?file=../../../../etc/passwd HTTP/1.1 Host: target.com - If successful, the response will contain the contents of
/etc/passwd.
Advanced Exploitation:
- Use PHP wrappers to execute code:
GET /wp-content/plugins/booking-and-rental-manager-for-woocommerce/includes/load.php?file=php://filter/convert.base64-encode/resource=../../../../etc/passwd HTTP/1.1 - Attempt to include a log file (e.g.,
/var/log/apache2/access.log) after injecting PHP code into the User-Agent header.
Blue Team (Defender)
Detection Steps:
- Monitor web server logs for suspicious GET requests containing directory traversal sequences (
../,..\\,%2e%2e%2f). - Look for requests to plugin files with unexpected parameters.
- Check for outbound connections from the web server to unknown IPs (if code execution is achieved).
Hunting Queries:
- Search for requests to
/wp-content/plugins/booking-and-rental-manager-for-woocommerce/with parameters likefile=,template=, orpage=. - Alert on any inclusion of system files (e.g.,
/etc/passwd,/etc/shadow).
Indicators of Compromise (IOCs)
- File Paths:
/etc/passwd,/etc/shadow,/wp-config.php,/proc/self/environ - URL Patterns:
?file=../../../../etc/passwd,?template=php://filter/... - Log Entries: HTTP requests with
../sequences in the query string. - Network Traffic: Outbound connections from the web server to attacker-controlled IPs (if RCE is achieved).
Detection Engineering
YARA Rule
rule CVE_2025_27011_LFI_Detection {
meta:
description = "Detects attempts to exploit CVE-2025-27011 via LFI patterns"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-27011"
strings:
$lfi1 = "file="
$lfi2 = "template="
$lfi3 = "page="
$traversal = "../"
$php_wrapper = "php://"
condition:
any of ($lfi*) and ($traversal or $php_wrapper)
}
Sigma Rule
title: CVE-2025-27011 LFI Attempt
id: 8a3f2c1e-5d7b-4a9c-8e6f-2b1d3c4a5e6f
status: experimental
description: Detects LFI attempts targeting Booking and Rental Manager plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-query|contains:
- 'file='
- 'template='
- 'page='
cs-uri-query|contains:
- '../'
- '..\\'
- '%2e%2e%2f'
condition: selection
falsepositives:
- Legitimate use of file parameters in other plugins
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-27011 LFI Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/wp-content/plugins/booking-and-rental-manager-for-woocommerce/"; http_uri; content:"file="; http_uri; content:"../"; http_uri; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: Disable the Booking and Rental Manager plugin until a patch is released.
- Virtual Patching: Use a Web Application Firewall (WAF) to block requests containing directory traversal patterns (
../,..\\,%2e%2e%2f) in query parameters. - Code Fix: If you have access to the source code, implement input validation as shown in the "Vulnerable vs. Patched Code" section.
- Monitoring: Enable detailed logging for web server requests and review logs for suspicious activity.
- Update: Monitor the WordPress plugin repository for an official patch and apply it immediately when available.
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.