漏洞关键信息总结 漏洞概述 CVE 编号: CVE-2026-3231 漏洞类型: 未授权存储型跨站脚本 (Unauthenticated Stored XSS) 受影响插件: Checkout Field Editor (Checkout Manager) for WooCommerce 漏洞成因: 插件在渲染 Block Checkout 自定义字段(类型为 Radio 及相关组类型)时存在转义管道损坏。渲染器最初使用 转义存储值,但随后代码使用 将其解码回原始 HTML,从而撤销了转义。输出通过 传递时,允许了一个过于宽松的列表,包含带有允许交换属性的 元素,导致攻击者控制的 payload 可被渲染为带有 JavaScript 事件处理器的活动 HTML。 危害: 这是一个高危漏洞。由于 WooCommerce 订单详情是特权工作流表面(管理员和客服经常访问),攻击者可在结账时注入 payload。一旦工作人员处理订单,payload 即执行,可能导致管理员账户被接管、创建新管理员、更改支付设置或安装恶意插件。 影响范围 受影响版本: Checkout Field Editor (Checkout Manager) for WooCommerce <= 2.1.7 安装量: 500,000+ 修复方案 1. 移除解码: 插件应移除 从渲染路径中,用于任何未转义的存储值,防止解码后重新创建活动 HTML。 2. 硬化 wp_kses: 允许列表应被硬化,任何允许元素上都不应允许事件处理程序属性(如 ),除非有防御控制。 3. 输入验证: 输入验证应在存储时应用,确保 checkout field 值存储为标量安全字符串(无标记),并且 Store API payload 在服务器端验证以防止篡改。 4. 临时措施: 一旦有固定版本可用,应暂时禁用 Block Checkout custom radio field rendering in order views(因为最高风险来自特权管理员订单上下文)。 5. 监控: 添加监控可疑标记(如 select, script, svg, event attributes),以便早期检测。 POC 代码**