CVE-2026-67329
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
Summary
@better-auth/stripe versions >= 1.4.11 and < 1.6.21, and >= 1.7.0-beta.0 and < 1.7.0-beta.10, contain an authorization bypass in organization subscription actions. The middleware validates the organization ID taken from the request query string against the authorizeReference callback, but the handler reads the organization ID only from the request body and falls back to the caller's active organization from their session. When these differ, an authenticated member of multiple organizations can perform subscription actions (cancel, change plan, restore, billing portal access) against an organization they belong to but should not manage, and can access another organization's billing details including payment methods, invoices, and subscription state.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| better-auth | stripe | 1.4.11 < 1.6.21 | affected |
| better-auth | stripe | 1.6.21 | unaffected |
| better-auth | stripe | 1.7.0-beta.0 < 1.7.0-beta.10 | affected |
| better-auth | stripe | 1.7.0-beta.10 | unaffected |
Weaknesses
- CWE-639: Authorization Bypass Through User-Controlled Key
References
- https://github.com/better-auth/better-auth/security/advisories/GHSA-h3rm-78g3-j7cp
- https://www.vulncheck.com/advisories/better-auth-stripe-before-authorization-bypass-via-organization-subscription
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.