---
id: "CVE-2026-96447"
page: "https://infrastack.ai/live/CVE-2026-96447"
kind: "vulnerability"
aliases: ["CVE-2026-96447"]
title: "Keycloak: stale tokens can reach a recreated service account"
severity: "medium"
cvss: 4.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["keycloak", "package", "self-hosted", "service-accounts"]
not_affected_if: ["no-service-account-reuse"]
published_at: "2026-11-06T06:16:44+00:00"
first_seen_at: "2026-11-06T06:40:12+00:00"
updated_at: "2026-11-06T06:41:40+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-96447", "first_seen_at": "2026-11-06T06:40:12+00:00"}]
exploit_sources: []
---

# Keycloak: stale tokens can reach a recreated service account

Link for people: https://infrastack.ai/live/CVE-2026-96447 (this .md is for agents)

Keycloak falls back to matching a user by username when the original user ID no longer exists while validating stateless access tokens. An attacker holding an old token could gain access to a newly created service account that reuses the client ID of a deleted one.

_Summary, check and fix written by a model from the sources; labelled as such._

## Timeline

- 2026-11-06T06:40:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-96447

## From the sources

A flaw was found in the TokenManager component of Keycloak, an open-source identity and access management solution. The issue occurs during the validation of stateless access tokens when the original user ID no longer exists. Keycloak incorrectly falls back to using the username to identify the user without verifying if the identity matches the original token subject. This could allow an attacker with an old token to gain access to a newly created service account if it shares the same client ID as a previously deleted one.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
