Read the docs
TI-2023-26092 Aliases CVE-2023-48228

OAuth2: PKCE can be fully circumvented

Priority MEDIUM 45CWE-287Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-287.

Summary

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.

Why it matters now

EPSS 0.01247 69th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed authentik (goauthentik): 2023.10.4, 2023.8.5

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
goauthentikauthentikbefore 2023.10.4; before 2023.8.52023.10.4, 2023.8.5Patch availableCNA
  • authentik Vendorgoauthentik Affected before 2023.10.4; before 2023.8.5 Fixed in 2023.10.4, 2023.8.5 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:goauthentik:authentik:*:*:*:*:*:*:*:*before 2023.8.5; 2023.10.0 to before 2023.10.4Vulnerablegoauthentik
  • cpe:2.3:a:goauthentik:authentik:*:*:*:*:*:*:*:* Versions before 2023.8.5; 2023.10.0 to before 2023.10.4 Vulnerable ·goauthentik

Remediation

  • Fix · CNA authentik (goauthentik) Fixed in 2023.10.4, 2023.8.5

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-48228

References

  • TI-2026-36603 authentik: SourceStage bypass via empty POST CVSS 3.1CRITICAL 9.8
  • TI-2022-07608 authentik vulnerable to Improper Authentication via invitation URL token reuse CVSS 3.1CRITICAL 9.4
  • TI-2026-36598 authentik: `UserSourceConnection.user` and `GroupSourceConnection.group` are changeable through the API CVSS 3.1HIGH 8.8
  • TI-2022-22816 authentik allows existing authenticated users to create arbitrary accounts CVSS 3.1MEDIUM 6.4
  • TI-2024-25628 Insufficient access control for OAuth2 Device Code flow in authentik CVSS 3.1CRITICAL 9.8
  • TI-2023-24876 authentik potential installation takeover when default admin user is deleted CVSS 3.1CRITICAL 9.8
See all 32 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences