Skip to content
OpenAdvisories
High · 7.5 CVE-2023-48228 EUVD-2023-52300

OAuth2: PKCE can be fully circumvented

Published Nov 21, 2023 · Updated Aug 2, 2024 · Assigned by GitHub_M

Description

authentik is an open-source identity provider. When initialising a oauth2 flow with a `code_challenge` and `code_method` (thus requesting PKCE), the single sign-on provider (authentik) must check if there is a matching and existing `code_verifier` during the token step. Prior to versions 2023.10.4 and 2023.8.5, authentik checks if the contents of `code_verifier` is matching only when it is provided. When it is left out completely, authentik simply accepts the token request with out it; even when the flow was started with a `code_challenge`. authentik 2023.8.5 and 2023.10.4 fix this issue.

Affected products

VendorProductAffectedFixed
goauthentik authentik < 2023.10.4, < 2023.8.5 —

References