GHSA-wfg2-vqfg-rqh6: SuperTokens Core SAML: identity taken from an assertion that never passed the audience check, allowing sign-in as any IdP user
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, a licensed deployment with a configured SAML client can authenticate an identity from an assertion that did not satisfy the audience check. When the identity provider uses assertion-level signing, an attacker who has a still-valid IdP-signed assertion naming the victim for any audience and the attacker's own valid assertion for the target audience can combine them because validateSamlResponseAudience accepts an audience from one assertion while extractAllClaims takes the final NameID and attributes from another; response-level signing does not expose this multi-assertion variant. Independently, an assertion from an identity provider configured for the target deployment but issued to another SuperTokens deployment using the shared default samlspentityid can satisfy the target's audience check. Successful exploitation authenticates the attacker as the victim IdP user. 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
SuperTokens Core SAMLto a version that resolves this vulnerability.Fixed in 11.3.8 - Upgrade
Upgrade
SuperTokens Core SAMLto a version that resolves this vulnerability.Fixed in 11.4.8 - Upgrade
Upgrade
SuperTokens Core SAMLto a version that resolves this vulnerability.Fixed in 12.0.11 - Upgrade
Upgrade
SuperTokens Core SAMLto a version that resolves this vulnerability.Fixed in 12.1.2 - Upgrade
Upgrade
SuperTokens Core SAMLto a version that resolves this vulnerability.Fixed in 12.2.1 - Upgrade
Upgrade
SuperTokens Core SAMLto a version that resolves this vulnerability.Fixed in 12.3.1
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Affected deployments are licensed SuperTokens Core installations with a configured SAML client running versions from 11.3.0 up to, but not including, the listed fixed releases. The issue requires a SAML identity provider relationship; deployments without a configured SAML client are not described as affected.
What does an attacker need to impersonate a user?
For the multi-assertion attack, the identity provider must use assertion-level signing, and the attacker needs a still-valid IdP-signed assertion naming the victim for any audience plus their own valid assertion for the target audience. Response-level signing does not expose that multi-assertion variant.
Are deployments using the default SAML service-provider entity ID at risk?
Yes, if the identity provider is configured for the target deployment and has issued an assertion to another SuperTokens deployment using the shared default saml_sp_entity_id. That assertion can satisfy the target deployment's audience check.
Which versions contain fixes?
The fixed versions are 11.3.8, 11.4.8, 12.0.11, 12.1.2, 12.2.1, and 12.3.1.