CVE-2026-6498WordPress插件Five Star Restaurant Reservations在2.7.16及以下版本中存在支付绕过漏洞。由于valid_payment()函数使用了PHP弱类型比较(==),未经身份验证的攻击者可利用空字符串与null比较为真的特性,通过发送特定请求绕过Stripe支付验证,将待支付订单标记为已支付,导致业务损失。
该漏洞源于插件对支付意图ID的验证逻辑存在缺陷。在Stripe支付流程中,若支付意图尚未创建,预订对象的stripe_payment_intent_id属性保持为null。插件使用PHP松散比较(==)来验证攻击者提供的POST参数payment_id与数据库中的stripe_payment_intent_id是否一致。当未经身份验证的攻击者向nopriv AJAX处理器rtb_stripe_pmt_succeed发送请求,并提交空的payment_id参数时,PHP会将sanitize_text_field('')处理为空字符串。在PHP弱类型比较中,空字符串''与null被认为是相等的('' == null 返回TRUE)。因此,攻击者无需完成实际的Stripe支付即可通过验证,系统错误地将订单状态更新为已支付。