Description
@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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
better-auth stripe
Default version status: unaffected
1.4.11 to < 1.6.21affected1.6.21unaffected
pkg:npm/%40better-auth/stripebetter-auth stripe
Default version status: unaffected
1.7.0-beta.0 to < 1.7.0-beta.10affected1.7.0-beta.10unaffected
pkg:npm/%40better-auth/stripe