Every CVE Search/ Get API key

CVE-2023-48228

OAuth2: PKCE can be fully circumvented

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
High
Availability
None

Exploit likelihood

1.25%Up 1.2 points since Nov 22, 2023
90%50%10%1%

What each source reports

CVE List Score used 7.5

OAuth2: PKCE can be fully circumvented

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.

Record
CVE-2023-48228
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
EUVDEUVD-2023-52300 7.5

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.

Record
EUVD-2023-52300
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Updated
2026-11-03
NVD 7.5

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.

Record
CVE-2023-48228
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-287
Updated
2026-11-02
OSV 7.5

OAuth2: PKCE can be fully circumvented

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.

Record
CVE-2023-48228
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Weakness
CWE-287
Updated
2026-11-02
OSVBIT-authentik-2023-48228 No score

OAuth2: PKCE can be fully circumvented

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.

Record
BIT-authentik-2023-48228
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
authentik
Bitnami
before 2023.8.5, 2023.10.0 up to 2023.10.4
2023.8.52023.10.4

History

History
RecordedChangedSources
aliases, publishedEUVD
first indexedCVE List, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2023-48228 is a high vulnerability (CVSS 7.5) in Goauthentik Authentik, published November 21, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.25%, the 69th percentile. Fixed in authentik 2023.8.5.

References

Show 6 moreShow less
MoveEnter Open