CVE-2025-6715
Executive Summary
CVE-2025-6715 is a Local File Inclusion (LFI) vulnerability discovered in the LatePoint WordPress plugin, affecting versions prior to 5.1.94. The flaw resides in the handling of the layout parameter, allowing an unauthenticated attacker to include and execute arbitrary PHP files from the server's filesystem. This can lead to remote code execution (RCE), data exfiltration, and full server compromise. As a WordPress plugin vulnerability, it directly impacts the WordPress ecosystem, not the underlying web server software.
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 LatePoint WordPress plugin, distributed through the WordPress plugin repository and third-party marketplaces. Organizations using this plugin should verify their version and update immediately. The lack of a public patch or advisory from the vendor at the time of analysis increases the risk for unmanaged installations.
CVSS Breakdown & Threat Level
While the official CVSS score is listed as 0.0, the actual severity is high due to the potential for unauthenticated remote code execution. A reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Network (N)
- Attack Complexity (AC): Low (L)
- Privileges Required (PR): None (N)
- User Interaction (UI): None (N)
- Scope (S): Unchanged (U)
- Confidentiality (C): High (H)
- Integrity (I): High (H)
- Availability (A): High (H)
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Base Score: 9.8 (Critical)
Deep Dive & Mechanics
The vulnerability exists in the LatePoint plugin's handling of the layout parameter, likely used to load different template files for the frontend. The plugin fails to properly sanitize or validate user-supplied input to this parameter, allowing directory traversal sequences (e.g., ../../) to be injected.
An attacker can craft a request such as:
GET /?latepoint_layout=../../../../etc/passwd%00
or to execute PHP code:
GET /?latepoint_layout=../../../../uploads/malicious.php
If the plugin uses include() or require() with the unsanitized layout parameter, it will load the specified file. If the file contains PHP code, it will be executed on the server. This allows an attacker to:
- Read sensitive files (e.g.,
wp-config.php,/etc/passwd). - Execute arbitrary PHP code by uploading a malicious file (e.g., via a separate file upload vulnerability or by leveraging an existing file).
- Escalate privileges and pivot to other systems.
Vulnerable vs. Patched Code
Vulnerable Code (before 5.1.94):
// In a template loader function
$layout = $_GET['layout'];
include( plugin_dir_path( __FILE__ ) . 'templates/' . $layout . '.php' );
This directly concatenates user input into the file path without sanitization.
Patched Code (5.1.94+):
// In a template loader function
$layout = sanitize_file_name( $_GET['layout'] );
$allowed_layouts = array( 'default', 'fullwidth', 'sidebar' );
if ( in_array( $layout, $allowed_layouts ) ) {
include( plugin_dir_path( __FILE__ ) . 'templates/' . $layout . '.php' );
} else {
// Fallback to default
include( plugin_dir_path( __FILE__ ) . 'templates/default.php' );
}
The patched version validates the input against a whitelist of allowed values, preventing directory traversal and arbitrary file inclusion.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Install a WordPress instance with the LatePoint plugin version 5.1.93 or earlier.
- Ensure the server has PHP and a web server (Apache/Nginx) running.
Exploitation Steps:
- Identify the vulnerable parameter: The
layoutparameter is used in the plugin's frontend templates. - Craft a request to read a sensitive file:
Thecurl "http://target.com/?latepoint_layout=../../../../etc/passwd%00"%00is a null byte injection to terminate the string, bypassing the.phpextension appended by the vulnerable code. - Execute arbitrary PHP code:
- First, upload a malicious PHP file (e.g., via a file upload feature or by exploiting another vulnerability).
- Then, include it:
curl "http://target.com/?latepoint_layout=../../../../wp-content/uploads/malicious.php%00"
- Achieve RCE: The included PHP file executes, allowing command execution, data exfiltration, or backdoor installation.
Blue Team
Detection:
- Monitor web server logs for requests containing
latepoint_layout=with directory traversal patterns (e.g.,../,%00). - Look for unusual file inclusion attempts targeting system files (e.g.,
/etc/passwd,wp-config.php). - Use the detection rules provided below.
Mitigation:
- Immediately upgrade the LatePoint plugin to version 5.1.94 or later.
- If immediate patching is not possible, implement a Web Application Firewall (WAF) rule to block requests containing
latepoint_layout=with path traversal sequences. - Disable the plugin temporarily if it is not critical.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests with
latepoint_layout=parameter containing../or%00. - Outbound connections from the web server to unknown IPs after exploitation.
- HTTP requests with
- File System IOCs:
- Unexpected files in the WordPress uploads directory (e.g.,
malicious.php,shell.php). - Modified or new files in the LatePoint plugin directory.
- Unexpected files in the WordPress uploads directory (e.g.,
- Log IOCs:
- Web server access logs showing requests to
/?latepoint_layout=../../../../etc/passwd. - PHP error logs indicating failed includes or file not found errors for system paths.
- Web server access logs showing requests to
Detection Engineering
YARA Rule
rule CVE_2025_6715_LFI_LatePoint {
meta:
description = "Detects Local File Inclusion attempts targeting LatePoint plugin CVE-2025-6715"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-6715"
strings:
$lfi_pattern = /latepoint_layout=[^&]*\.\.\// nocase
$null_byte = /latepoint_layout=[^&]*%00/ nocase
condition:
any of them
}
Sigma Rule
title: CVE-2025-6715 LatePoint LFI Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests exploiting Local File Inclusion in LatePoint plugin
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access
detection:
selection:
cs-method: GET
cs-uri-query|contains:
- 'latepoint_layout='
cs-uri-query|re: '(\.\.\/|%00)'
condition: selection
falsepositives:
- Legitimate use of the layout parameter with valid values
level: high
Suricata Rule
alert http any any -> $HOME_NET any (msg:"CVE-2025-6715 LatePoint LFI Attempt"; flow:to_server,established; content:"latepoint_layout="; http_uri; pcre:"/(\.\.\/|%00)/Ri"; classtype:web-application-attack; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: Upgrade the LatePoint plugin to version 5.1.94 or later. This is the only complete fix.
- Workaround: If upgrading is not possible, add the following rule to your WAF or
.htaccessfile:RewriteEngine On RewriteCond %{QUERY_STRING} latepoint_layout=.*\.\. [NC,OR] RewriteCond %{QUERY_STRING} latepoint_layout=.*%00 [NC] RewriteRule .* - [F,L] - Monitoring: Enable detailed logging for web requests and monitor for the IOCs listed above.
- Hardening: Ensure the WordPress installation follows security best practices, including file permissions, regular updates, and principle of least privilege.
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.