CVE-2026-123801: high-severity vulnerability in supertokens-core
SuperTokens Core: SAML callback accepts a replayed RelayState + SAMLResponse, minting a fresh authorization code on each replay
Published · Updated
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
21Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 7.4epss 0.4%
SuperTokens Core is an open source authentication server. From 11.3.0 until 11.3.8, 11.4.8, 12.0.11, 12.1.2, 12.2.1, and 12.3.1, SAML.handleCallback does not consume RelayState, record assertion identifiers, or enforce Response.InResponseTo. In the SP-initiated flow, an attacker who obtains a legitimately issued, still-valid SAML response and its matching RelayState can resubmit the pair to /recipe/saml/callback before the assertion's NotOnOrAfter time; in the IdP-initiated flow, the assertion can be replayed without RelayState. The missing Response.InResponseTo check also permits an in-progress login to be completed with an assertion for a different identity and fails to enforce allowIDPInitiatedLogin=false. The callback does not validate Destination or SubjectConfirmationData Recipient and NotOnOrAfter, and each accepted callback mints a fresh, independently redeemable authorization code carrying the captured user's identity. This issue is fixed in versions 11.3.8, 11.4.8, 12.0.11, 12.1.2, 12.2.1, and 12.3.1.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Affected products
supertokens · supertokens-coreRelated CVEs — supertokens-core
In the same product, most dangerous first.
CVE-2026-123799HIGHSuperTokens Core: Dashboard session tokens are never checked for expiry: `isValidUserSession` ignores the stored `expiry`, so a long-expired admin session still authenticatesEPSS 0.8%CVE-2026-123800CRITICALSuperTokens Core: App-scoped API key can overwrite the parent connection URI domain's credentials and take over sibling applicationsEPSS 0.6%CVE-2026-123803HIGHSuperTokens Core: WebAuthn sign-in accepts a passkey across tenant boundariesEPSS 0.5%CVE-2026-123797HIGHSuperTokens Core: Unknown tenant path bypasses API key and public-tenant enforcementEPSS 0.5%CVE-2026-123804MEDIUMSuperTokens Core: A session created concurrently with account unlink survives the unlinkEPSS 0.4%CVE-2026-123802HIGHSuperTokens Core SAML: identity taken from an assertion that never passed the audience check, allowing sign-in as any IdP userEPSS 0.3%
References
https://github.com/supertokens/supertokens-core/commit/075655222f5e72f3683a127e45c83c4174fbd4f7https://github.com/supertokens/supertokens-core/commit/4e05d8cf60287e9d2720140031a8b8f4430d056fhttps://github.com/supertokens/supertokens-core/commit/557835406547d269f5d0e33159630a1873461c38https://github.com/supertokens/supertokens-core/commit/5c42f02e98f67174c6a5a800dd9f8bd5b6e98486https://github.com/supertokens/supertokens-core/commit/b6730e608b2d4562939cd4f41ea07df5f841dfe5https://github.com/supertokens/supertokens-core/commit/ca2bca9bc900c2fd399d508818ad026cc977dcf6https://github.com/supertokens/supertokens-core/releases/tag/v11.3.8https://github.com/supertokens/supertokens-core/releases/tag/v11.4.8https://github.com/supertokens/supertokens-core/releases/tag/v12.0.11https://github.com/supertokens/supertokens-core/releases/tag/v12.1.2https://github.com/supertokens/supertokens-core/releases/tag/v12.2.1https://github.com/supertokens/supertokens-core/releases/tag/v12.3.1