/

CVE-2026-94611

Severity:

HIGH RISK

(8.1)

Credential Disclosure (CWE-200) in authentik APIs

CVE-2026-94611

Deferred

Vulnerability type

Category:

Sensitive Information Disclosure

CWE:

CWE-200, CWE-522

Impact:

Exposure of stored credentials and authentication secrets

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

authentik API serializers may return stored credentials to accounts that have permission to view certain configurations, even when those accounts are not authorized to read secrets or modify the configuration. The issue becomes risky when configuration view access is granted to users who should not see embedded client secrets, shared secrets, provisioning credentials, or other stored authentication material.

Affected context

The vulnerability can occur in authentik deployments where configuration objects containing secrets are viewable by accounts that are not intended to read those secrets. Affected areas may include one-time code delivery by mail or SMS, outbound provisioning targets, device trust integrations, identity sources, Kubernetes outposts, applications using client or shared secrets, and applications using proxy providers. Deployments in which every viewer is already authorized to read the associated credentials are less exposed.

Exploit preconditions

  • Attack surface: authentik configuration APIs and their serialized responses
  • Required access: An account with permission to view an affected configuration
  • Trigger point: Retrieval of the configuration through an API or administrative interface
  • Why exploitation is possible: The serializer includes stored credential fields based on configuration visibility rather than the caller's authorization to read secrets

Why this happens

The underlying flaw is an authorization and data-minimization failure in API serialization. Sensitive credential fields are returned whenever a caller can view the related configuration, without separately enforcing permission to access the secrets themselves. This maps primarily to CWE-200, Exposure of Sensitive Information, and is also related to CWE-522, Insufficiently Protected Credentials, because stored authentication material is disclosed to unauthorized viewers.

Potential impact

  • Attackers may obtain client secrets, shared secrets, or integration credentials.
  • Exposed credentials could enable impersonation or unauthorized API access.
  • Compromised provisioning or identity-source credentials could enable access to connected systems.
  • Device trust, proxy, or outpost secrets could be misused to weaken access controls.
  • Credential disclosure could support lateral movement or persistence.

General mitigation guidance

Mitigation generally focuses on separating configuration visibility from

secret visibility and minimizing sensitive data returned by APIs.

Common defensive patterns include:

  • Redacting or omitting credentials from ordinary configuration serializers.
  • Applying explicit, field-level authorization checks before returning secrets.
  • Returning secret metadata or write-only placeholders instead of stored values.
  • Restricting configuration view permissions according to least privilege.
  • Limiting credential scope and privileges in connected systems.
  • Rotating credentials when unauthorized disclosure may have occurred.
  • Treating administrative API responses as sensitive and protecting them with strong access controls.

How teams detect issues like this

Organizations can look for this issue through:

  • Static analysis and code review checks for serializers that expose secret-bearing fields.
  • Tests that compare configuration-view permissions with secret-read permissions.
  • API contract tests verifying that credentials are omitted or redacted for unauthorized roles.
  • Monitoring for unusual configuration reads and access to administrative endpoints.
  • Policy enforcement requiring explicit annotations or allowlists for fields permitted in API responses.
  • Automated security review tools that identify credential-like fields returned by serializers.

Frequently asked

questions

An account that can view an affected configuration may be able to exploit the

issue if it is not separately authorized to read the credentials contained in

that configuration.

No. The relevant prerequisite is authenticated access with configuration-view

permission. The exact scope depends on the deployment's roles and policies.

Separate configuration visibility from secret visibility, enforce field-level

authorization, and omit or redact credentials from responses unless secret

access is explicitly granted.

Use least-privilege permissions, write-only secret handling, response

minimization, credential-scoped integration accounts, and automated tests that

verify sensitive fields are never returned to unauthorized viewers.

Find out what's already
exploitable in your codebase.