漏洞总结:CVE-2026-1710 漏洞概述 CVE ID: CVE-2026-1710 漏洞名称: WooPayments – Unauthenticated Checkout UI Cache Poisoning/DOS via Public save_upe_appearance AJAX Endpoint 描述: 该漏洞存在于 WooPayments 插件中,是一个未授权的缓存投毒和拒绝服务(DoS)漏洞。核心问题在于一个公共的 AJAX 端点允许任何访客提交攻击者控制的 Stripe Elements 外观配置。插件将这些数据存储在共享的 transient 中,随后被所有购物者消费。这会将单个匿名请求转化为持久的站点级结账操纵,持续时间可达一天。在依赖卡片支付为主要收入来源的网站上,这非常严重,因为它阻止了真实客户的结账完成,同时看起来像正常的结账前端。 影响范围 受影响插件: WooPayments 受影响版本: <= 10.5.1 活跃安装量: 900,000+ 利用条件: 无需认证(Unauthenticated),通过公共 AJAX 端点 访问。 发布日期: March 30, 2026 修复方案 1. 强制授权: 公共端点不应写入全局外观配置。处理程序应限制为管理员或商店经理。 2. 验证 Nonce: 必须验证 Nonce,且 Nonce 不应仅作为门控机制使用。 3. 存储模型变更: 如果外观是供访客或会话使用的,应存储在客户端或会话范围存储中,而不是全局 transient 中。如果是管理员配置,应存储在选项中,且仅允许特权用户更新。 4. 输入验证: 外观 JSON 应进行模式验证,除非匹配预期类型,否则应拒绝。 5. 限制写入操作: 实施速率限制以防止滥用。 6. 监控: 监控更新外观的异常值。 POC 代码