# CVE-2026-57580: authentik: Account Takeover via SAML NameID Comment Truncation

> Attackers can hijack victim accounts by exploiting SAML NameID parsing discrepancies in non-default user-matching modes.

- **Severity:** Critical 9.4 (`CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 18 Aug 2026
- **Updated:** 18 Aug 2026
- **Also known as:** BIT-authentik-2026-57580, GHSA-35v6-hv2g-6992

## What is CVE-2026-57580?

CVE-2026-57580 is a critical authentication bypass vulnerability in goauthentik authentik, published on 18 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

authentik is an open-source identity provider. Prior to 2026.2.6 and 2026.5.5, an inbound SAML Source configured with the non-default USERNAME_LINK or EMAIL_LINK user-matching mode interprets an XML comment in a NameID differently from the identity provider's signed assertion. An attacker with an account on the source identity provider who can set the account's NameID can inject an XML comment that truncates the value used by authentik to the text before the comment while the signed assertion remains valid. A crafted NameID can therefore truncate to a victim's username or email and bind the attacker's external identity to the victim's existing account. This grants full takeover without the victim's password or the identity provider's private key, and the malicious link persists so later logins succeed without the comment. Sources using the default unique-identifier matching mode and authentik's outbound SAML Provider role are not affected. This issue is fixed in versions 2026.2.6 and 2026.5.5.

Weakness: CWE-436 (Interpretation Conflict)

## Which versions are affected by CVE-2026-57580?

1 open source package ship an affected version, including authentik.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `authentik` | Bitnami | All versions | 2026.2.6, 2026.5.5 |

## How do I fix CVE-2026-57580?

Upgrade authentik to a fixed version for your release line: 2026.2.6 or 2026.5.5.

## Is CVE-2026-57580 being exploited?

There is no known exploitation of CVE-2026-57580 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2026-57580 and fix it if it is affected.

What it is: CVE-2026-57580 is a critical authentication bypass vulnerability in goauthentik authentik, published on 18 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2026-57580 in the wild and no public exploit code.

Affected packages and fixed versions:
- authentik (Bitnami): affected all versions; fixed in 2026.2.6, 2026.5.5

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2026-57580/ (Markdown: https://insights.sbomify.com/CVE-2026-57580/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2026-57580
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-57580
- OSV: https://osv.dev/vulnerability/CVE-2026-57580

---
From sbomify Insights: https://insights.sbomify.com/CVE-2026-57580/
Summaries are generated and may contain mistakes; the official description above is the record.
