CVE-2026-94612 Overview
CVE-2026-94612 is an authentication bypass vulnerability in authentik, an open-source identity provider. The flaw affects the SAML Source component, which validates assertion signatures and validity periods but fails to verify that the identity provider issued the assertion for the receiving Source or in response to a login request from that Source. The SAML Source also does not track previously accepted assertions, enabling replay attacks. An unauthenticated attacker holding a valid SAML assertion intended for another service provider, or an earlier assertion, can authenticate as the user named in the assertion. The issue is categorized under CWE-287 (Improper Authentication).
Critical Impact
An unauthenticated attacker possessing a valid SAML assertion can impersonate any user handled by a vulnerable SAML Source, resulting in full account takeover.
Affected Products
- authentik versions prior to 2026.2.7
- authentik versions prior to 2026.5.7
- authentik versions prior to 2026.8.2
Discovery Timeline
- 2026-09-24 - CVE-2026-94612 published to the National Vulnerability Database
- 2026-09-24 - Last updated in NVD database
Technical Details for CVE-2026-94612
Vulnerability Analysis
The authentik SAML Source accepts Security Assertion Markup Language (SAML) assertions without binding them to the specific Source that initiated the authentication request. While the assertion signature and NotBefore/NotOnOrAfter time windows are validated, two critical checks are missing. First, the implementation does not confirm that the assertion's intended audience and recipient match the Source processing it. Second, the implementation does not maintain state about assertions it has already consumed. Together, these omissions allow both cross-audience abuse and straightforward replay of captured assertions. Only SAML Sources (inbound authentication) are affected; SAML Providers and other Source types are not.
Root Cause
The root cause is incomplete SAML Response processing in authentik/sources/saml/views.py and the supporting exception layer in authentik/sources/saml/exceptions.py. The validation pipeline omitted an audience/binding check and lacked an assertion-ID replay cache. The patch introduces a new MismatchedBinding exception that is raised when a Response is not addressed to the receiving Source.
Attack Vector
An attacker who can obtain a valid SAML assertion — for example, by acting as a lower-privilege service provider that shares an identity provider with the authentik instance, or by capturing an assertion in transit — can submit that assertion to the authentik SAML Source endpoint. Because the Source does not verify the intended recipient or detect reuse, authentik grants a session as the subject named in the assertion. The attack requires no credentials and no user interaction on the authentik side.
# Patch excerpt: authentik/sources/saml/exceptions.py
default_message = "The SAML Response ID does not match the original request ID."
class MismatchedBinding(SAMLException):
"""Exception raised when the Response is not addressed to this Source."""
default_message = "The SAML Response is not addressed to this Source."
class MissingSAMLResponse(SAMLException):
"""Exception raised when request does not contain SAML Response."""
Source: GitHub Commit 287ea13. The new MismatchedBinding exception enforces that an incoming SAML Response is addressed to the Source that is processing it, closing the audience-confusion half of the vulnerability.
Detect Identity Attacks the Moment Authentication Fails
Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.
Stop Identity AttacksDetection Methods for CVE-2026-94612
Indicators of Compromise
- Successful authentications through a SAML Source without a preceding AuthnRequest originating from that Source.
- Repeated SAML Response submissions carrying the same assertion ID or InResponseTo value.
- SAML Responses whose Audience or Destination elements reference a service provider other than the authentik Source endpoint.
- Unexpected session creation for high-privilege user accounts shortly after SAML traffic from unfamiliar network sources.
Detection Strategies
- Parse ingress SAML Response payloads at the proxy or Web Application Firewall and alert when the Audience value does not match the authentik SAML Source entity ID.
- Correlate authentik authentication events with outbound AuthnRequest logs to flag inbound assertions with no matching request.
- Maintain a short-lived cache of observed assertion ID values to identify replay attempts across the SAML Source endpoint.
Monitoring Recommendations
- Enable verbose logging on authentik SAML Source views and forward events to a centralized log platform for retention and analysis.
- Monitor for authentication of privileged accounts from new or unusual IP addresses after upgrade and backport windows.
- Review the GitHub Security Advisory GHSA-cqj8-fxxf-9pg7 for additional vendor guidance.
How to Mitigate CVE-2026-94612
Immediate Actions Required
- Upgrade authentik to 2026.2.7, 2026.5.7, or 2026.8.2 depending on the release branch in use.
- Audit all configured SAML Sources and temporarily disable any Source whose identity provider is shared with other service providers until the upgrade is complete.
- Invalidate active user sessions created through SAML Sources prior to patching and force re-authentication.
- Rotate SAML signing certificates if assertion disclosure is suspected.
Patch Information
The maintainers released fixes in the following versions: authentik 2026.2.7, authentik 2026.5.7, and authentik 2026.8.2. The underlying code changes land in commits 287ea13, 355d8cc, 54fac86, and 984b016, delivered through pull requests #25957, #25962, #25967, and #25972.
Workarounds
- Where upgrade is not immediately feasible, disable affected SAML Sources and route users through unaffected Source types until patching is complete.
- Restrict network access to the authentik SAML Source assertion-consumer endpoint so that only trusted identity provider egress ranges can reach it.
- Where possible, dedicate an identity provider instance exclusively to the authentik Source to reduce the pool of assertions an attacker could reuse.
# Verify installed authentik version against fixed releases
kubectl -n authentik exec deploy/authentik-server -- \
ak --version
# Expected output must match one of:
# 2026.2.7
# 2026.5.7
# 2026.8.2
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

