SuperTokens Coreに認証を再利用される脆弱性 SAML応答の再送で認可コードが発行される
Summary
SuperTokens CoreのSAML callback処理に脆弱性が見つかり、正規に発行されたSAML応答とRelayStateを再送されると、攻撃者が利用者の認可コードを何度も取得できるおそれがあります。影響を受けるのは11.3.0から11.3.8、11.4.8、12.0.11、12.1.2、12.2.1、12.3.1のうち修正前の版で、11.3.8、11.4.8、12.0.11、12.1.2、12.2.1、12.3.1以降で修正されています。SAML認証を使っている場合は、早めに修正版へ更新してください。
AI summary
Produced by SecPulse using an external AI model; it may contain mistakes. Check the original description and references below before acting on it.
SuperTokens CoreのSAML callback処理に脆弱性が見つかり、正規に発行されたSAML応答とRelayStateを再送されると、攻撃者が利用者の認可コードを何度も取得できるおそれがあります。影響を受けるのは11.3.0から11.3.8、11.4.8、12.0.11、12.1.2、12.2.1、12.3.1のうち修正前の版で、11.3.8、11.4.8、12.0.11、12.1.2、12.2.1、12.3.1以降で修正されています。SAML認証を使っている場合は、早めに修正版へ更新してください。
Original description The description as published by the source.
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.
Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
References
- advisory github.com
- advisory nvd.nist.gov
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com
- web security-advisories@github.com