CVE-2026-34210mppx是一个用于机器支付协议的TypeScript接口。在0.4.11版本之前,其stripe/charge支付方法在创建PaymentIntents时未正确检查Stripe的Idempotent-Replayed响应头。攻击者可以利用这一漏洞,将包含相同spt token的有效支付凭证重放到新的挑战中。由于服务器未能识别这是重放请求,它会错误地接受该凭证作为新的成功支付,而无需实际再次扣费。这导致攻击者只需支付一次即可通过重放凭证无限消耗服务器资源。该问题已在0.4.11版本中修复。
该漏洞的核心原理在于mppx库在处理Stripe支付请求时,忽略了Stripe API的幂等性保护机制。Stripe使用幂等性密钥来防止重复操作,当服务器收到具有相同密钥的请求时,会返回带有`Idempotent-Replayed: true`头的响应,指示这是一个重放请求。然而,受影响版本的mppx在进行`stripe/charge`验证时,仅检查了支付状态是否成功,未对该响应头进行校验。攻击者只需捕获一次合法的支付交互凭证(包含spt token),即可在后续的交易流程中重放该凭证。服务端收到重放凭证后向Stripe验证,Stripe返回成功但标记为重放(不扣款),但mppx验证逻辑缺陷导致其仍视为有效支付。这种逻辑错误破坏了交易的完整性,允许未授权的资源占用。