超过 700 万个 WooCommerce 网站受到简单 HTML 注入的影响:CVE-2024-9944 分析

超过 700 万个 WooCommerce 网站受到简单 HTML 注入的影响:CVE-2024-9944 分析
拾光超过 700 万个 WooCommerce 网站受影响:CVE-2024-9944 分析
主要风险点
- 订单确认页面:注入的 HTML 会显示在唯一的订单确认页面 URL 上,攻击者可利用此页面发起钓鱼或社会工程攻击。
- 新订单确认电子邮件:WooCommerce 管理员收到的订单确认邮件中,也会呈现注入的 HTML,可能导致直接针对管理员的钓鱼攻击。
此漏洞在 WooCommerce 版本 ≤ 9.0.2 中存在,并在 2024 年 7 月发布的 9.1.0 版本中修复。
技术细节和 PoC
攻击者可通过 WooCommerce 的“订单备注”字段注入 HTML 代码,并在以下两个位置执行:
订单确认页面:当用户下单后,WooCommerce 生成一个唯一的订单确认页面 URL,该页面会显示注入的 HTML 标签。此 URL 是静态的,攻击者可以分享该链接,并在每次访问时执行注入的 HTML。
https://pic7.58cdn.com.cn/nowater/webim/big/n_v28d053465d6f74644ab041a516a8aa27e.png管理员订单确认邮件:如果 WooCommerce 启用了邮件提醒功能,管理员将收到包含注入 HTML 的邮件,HTML 会在邮件的“备注”部分呈现,影响管理员。
WooCommerce 代码变更
通过对 WooCommerce 9.0.2 和 9.1.0 版本的代码进行比较,发现该漏洞修复了 3 处文件中的代码。
位置 1:
templates/order/order-details.php
位置 2:
templates/emails/email-order-details.php
位置 3:
templates/emails/plain/email-order-details.php
漏洞修复时间线
- 2024年5月13日:在 WooCommerce 8.8.3 版本中发现漏洞,并通过 HackerOne 向 Automattic 报告。
- 2024年7月11日:WooCommerce 在 9.1.0 版本中修复了该问题。
- 2024年8月31日:漏洞报告在 HackerOne 上关闭,标记为已解决。
- 2024年10月14日:CVE 分配编号。
- 2024年10月17日:漏洞分析报告发布。
为了缓解该问题,建议立即更新至 WooCommerce 最新版本。