Description
The x402 SIWX server extension in @x402/extensions 2.3.1 through 2.28.0, x402 PyPI 2.11.0 through 2.25.0, and Go module 2.16.0 through 2.28.0 contains an authorization bypass vulnerability that allows paying clients to unlock unpaid routes by supplying a mismatched PaymentPayload.resource URL. Attackers can pay for the cheapest SIWX-protected route while setting resource.url to an expensive route, then repeatedly access it using only a SIGN-IN-WITH-X header without further payment.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| x402-foundation | @x402/extensions | 2.3.1 – ≤ 2.28.0 | — |
| x402-foundation | x402 | 2.11.0 – ≤ 2.25.0 | — |
| x402-foundation | github.com/x402-foundation/x402/go/v2 | 2.16.0 – ≤ 2.28.0 | — |
References
- https://github.com/x402-foundation/x402/issues/3838 issue-tracking
- https://github.com/x402-foundation/x402/pull/3840 patch issue-tracking
- https://github.com/x402-foundation/x402/blob/npm-@x402/extensions@v2.28.0/typescript/packages/extensions/src/sign-in-with-x/hooks.ts technical-description
- https://github.com/x402-foundation/x402/blob/pypi-x402@v2.25.0/python/x402/extensions/sign_in_with_x/hooks.py technical-description
- https://github.com/x402-foundation/x402/blob/go/v2.28.0/go/extensions/signinwithx/server.go technical-description
- VulnCheck Advisory: x402 @x402/extensions 2.3.1 through 2.28.0 SIWX Payment Bypass via PaymentPayload.resource third-party-advisory