Authorization bypass in x402 SIWX lets clients reach unpaid routes
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-639.
Summary
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 github.com/x402-foundation/x402/go/v2 2.16.0 through 2.28.0 is affected. The authorization check trusts a user-controlled key (CWE-639), so a paying client can unlock a route it did not pay for by supplying a mismatched PaymentPayload.resource URL. A remote attacker with no privileges and no user interaction can pay for the cheapest protected route and then reach a more expensive route repeatedly without further payment.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| x402-foundation | @x402/extensions | 2.3.1 – 2.28.0 | — | No fix listed | CNA |
| x402-foundation | x402 | 2.11.0 – 2.25.0 | — | No fix listed | CNA |
| x402-foundation | github.com/x402-foundation/x402/go/v2 | 2.16.0 – 2.28.0 | — | No fix listed | CNA |
- @x402/extensions Vendorx402-foundation Affected 2.3.1 – 2.28.0 Fixed in — No fix listed CNA
- x402 Vendorx402-foundation Affected 2.11.0 – 2.25.0 Fixed in — No fix listed CNA
- github.com/x402-foundation/x402/go/v2 Vendorx402-foundation Affected 2.16.0 – 2.28.0 Fixed in — No fix listed CNA
Remediation
The sources list no fixed version for @x402/extensions, x402, or github.com/x402-foundation/x402/go/v2.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-20 Threatist record created from CVE-2026-113603
- 2026-10-21 Alias added: GHSA-vxw2-vmfp-vrg3
- 2026-10-21 CISA SSVC decision points changed
- 2026-10-21 Priority changed: MEDIUM → LOW
References
Other 4
- https://github.com/x402-foundation/x402/issues/3838
- https://github.com/x402-foundation/x402/blob/npm-@x402/[email protected]/typescript/packages/extensions/src/sign-in-with-x/hooks.ts
- https://github.com/x402-foundation/x402/blob/[email protected]/python/x402/extensions/sign_in_with_x/hooks.py
- https://github.com/x402-foundation/x402/blob/go/v2.28.0/go/extensions/signinwithx/server.go
Sources
- CVE-2026-113603 · CVE Program
- CVE-2026-113603 · NVD
- FIRST EPSS
- GHSA-vxw2-vmfp-vrg3 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences