github supertokens/supertokens-core v12.3.1

2 hours ago

Security

  • SAML callback replay hardening (GHSA-3r7x-rhvc-fw28): the callback RelayState is now single-use, every assertion is consumed at most once (new saml_consumed_assertions table), and the response is bound to the login via InResponseTo and Destination/Recipient pinning — closing the SP- and IdP-initiated replay windows.
  • SAML: a client can carry an optional ACS-URL allow-list (acsURLs). When set, the login's ACS URL (SP-initiated) and the response Destination/SubjectConfirmationData.Recipient (IdP-initiated) must be a member — extending Destination/Recipient pinning to the IdP-initiated path, which previously had no anchor. The list is required when IdP-initiated login is enabled: it is checked on every client create/update, and IdP-initiated logins for an existing client without one are refused until it is set. (GHSA-3r7x-rhvc-fw28 follow-up)
  • SAML: identity and audience are taken from a single validated assertion, which must also carry a signed Recipient matching the ACS URL, so an assertion issued to a different Service Provider can no longer supply the authenticated identity. saml_sp_entity_id keeps its default https://saml.supertokens.com (GHSA-wfg2-vqfg-rqh6).
  • Multitenancy: an app-scoped API key can no longer rewrite its parent connectionUriDomain's credentials to take over sibling apps (GHSA-4rf2-xqvf-8rcx).
  • WebAuthn: sign-in is scoped to the requested tenant, so a passkey registered in one tenant is no longer accepted at another (GHSA-6v34-w48w-44rc).
  • Sessions: session creation is serialized with account unlink under the same per-user lock, so a session created concurrently with unlink can no longer survive its revocation (GHSA-2pc4-vw9j-454c).

Migration

The SAML replay hardening adds two columns to saml_relay_state and the saml_consumed_assertions table. The core applies them at startup (CREATE TABLE / ADD COLUMN IF NOT EXISTS), so an in-place upgrade needs no manual step; large PostgreSQL deployments can pre-apply migration-scripts/v9.9.1.sql (supertokens-postgresql-plugin 9.9.1). Additive and online-safe.

Full Changelog: v12.3.0-canary...v12.3.1

Don't miss a new supertokens-core release

NewReleases is sending notifications on new releases.