☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.5 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N 🐛 CWE-862
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-105306

CVE-2026-105306 Missing Authorization in Keycloak
📅 PUBLISHED: 2026-10-05 00:00 UTC 🔄 UPDATED: 2026-10-06 05:00 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.22%
👁️
0.22% probability
5.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1078
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: Not specified in available data (affects Dynamic Client Registration flow)
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: N Integrity None
A: N Availability None
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-105306 is an authorization flaw (CWE-862, Missing Authorization) in the Dynamic Client Registration flow of the Keycloak identity and access management server. The registration process fails to filter security-sensitive client attributes when a new client is created, allowing an attacker who possesses a valid Initial Access Token to register a client that bypasses audience checks during token introspection. Successful exploitation enables the attacker to view sensitive identity information, roles, and session details from access tokens belonging to other applications within the same realm. With a CVSS base score of 6.5, exploitation requires low privileges (a valid Initial Access Token) but results in high confidentiality impact with no integrity or availability impact.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Keycloak is a widely deployed open-source identity and access management (IAM) solution providing single sign-on, OAuth 2.0 / OpenID Connect token issuance, and token introspection services. The Dynamic Client Registration flow is an OAuth 2.0 extension (RFC 7591/7592) that allows clients to register themselves with the authorization server, typically gated by an Initial Access Token issued by an administrator. This access token is intended to constrain who may register clients and under what attributes.

The vulnerability resides in the client registration processing logic. When a new client is created through the Dynamic Client Registration endpoint, the server fails to filter security-sensitive client attributes. Because those attributes are not sanitized or restricted against an allow-list, the attacker can influence client configuration parameters that govern how token introspection handles audience validation.

Token introspection (RFC 7662) is the mechanism by which a resource server validates an access token and obtains metadata about it. Audience checks are the control that ensures a token minted for application A cannot be introspected or accepted by application B. In this CVE, the attacker registers a client that effectively bypasses those audience checks. As a consequence, the newly registered client can receive introspection responses for access tokens that were issued to other applications in the same realm, exposing identity claims, assigned roles, and session details contained within those tokens.

The root cause maps directly to CWE-862 (Missing Authorization): the registration path performs authentication of the caller (via the Initial Access Token) but omits the authorization step that restricts which security-sensitive attributes can be set. No specific function names, URL paths, or parameter identifiers are provided in the available NVD data, so the precise code location cannot be confirmed. The analysis here is limited to the vulnerability class — improper filtering of sensitive client attributes leading to an audience-check bypass during introspection.

The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N) confirms network reachability, low attack complexity, required low privileges, no user interaction, and a scope that remains unchanged while confidentiality is rated High. Integrity and availability are unaffected, consistent with a read-only information disclosure primitive.

Exploitation Scenarios

No public proof-of-concept, exploit code, or Nuclei template is available for this CVE. The attack chain below is inferred strictly from the vulnerability class and the NVD description.

  1. Reconnaissance / target identification. The attacker identifies a Keycloak deployment that exposes the Dynamic Client Registration endpoint and requires an Initial Access Token for registration. The attacker must already possess a valid Initial Access Token — sources include leaked tokens, tokens issued to a legitimate but low-privilege partner integration, or tokens obtained through a separate compromise. Because exploitation requires only this low-privilege foothold, no administrative access is needed.

  2. Triggering the flaw class. The attacker submits a client registration request to the Dynamic Client Registration flow using the valid Initial Access Token. In the request, the attacker supplies security-sensitive client attributes that the registration process fails to filter. The absence of attribute filtering (CWE-862) means the server accepts these attributes and persists them into the newly created client configuration.

  3. Payload / execution method at the vulnerability-class level. The attacker selects attributes such that the registered client's configuration bypasses audience checks during token introspection. No specific parameter names can be cited because they are not present in the available data; the exploitation primitive is the unchecked assignment of sensitive client attributes during registration rather than any crafted payload. The malicious client is created as a legitimate object within the realm.

  4. Post-exploitation impact. Once the audience-check bypass is in place, the attacker uses the newly registered client to introspect access tokens belonging to other applications in the same realm. The introspection responses disclose sensitive identity information, roles, and session details. This information can be used to map privileged accounts, enumerate role assignments, and pivot toward lateral movement or privilege escalation against downstream services that rely on the tokens.

Impact Assessment

The impact is a confidentiality-only breach rated High (C:H) with no integrity or availability effect, producing a CVSS 3.1 base score of 6.5. Blast radius is bounded by realm scope: any access token belonging to an application in the same Keycloak realm as the maliciously registered client is potentially exposed through introspection. In multi-tenant or large enterprise deployments where a single realm hosts many applications and roles, the disclosure of identity attributes, role memberships, and session details can reveal the organization's authorization model and privileged users.

Because the attacker must hold a valid Initial Access Token, the vulnerability is not unauthenticated from the realm's perspective; however, Initial Access Tokens are frequently delegated to integration partners, CI/CD systems, or third-party services, widening the population capable of exploitation. Business impact includes loss of confidentiality for identity metadata, potential downstream account takeover if exposed session details or roles enable token replay or privilege abuse, and compliance exposure for organizations subject to identity-data protection requirements. The scope remains unchanged (S:U), so the exploitable security authority is limited to the Keycloak realm itself.

Detection Guidance

Sigma Rule

title: Keycloak Dynamic Client Registration with Sensitive Attributes
id: 6c1f2a94-3b7e-4d21-9a55-0e2f8b6d1c33
status: experimental
description: Detects client registration events in Keycloak Dynamic Client Registration followed by introspection of foreign-realm client tokens, consistent with CVE-2026-105306.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-105306
author: valtersit.com
date: 2026-01-01
logsource:
  product: keycloak
  service: events
detection:
  selection_register:
    event_type: 'CLIENT_REGISTER'
  selection_jwt:
    event_type: 'CLIENT_REGISTER_ERROR'
  condition: selection_register or selection_jwt
  timeframe: 5m
falsepositives:
  - Legitimate administrator-driven dynamic client registration
level: medium
tags:
  - attack.t1078
  - cwe.862

YARA Rule

rule CVE_2026_105306_Keycloak_DCR_Attribute_Bypass
{
    meta:
        description = "Detects Keycloak dynamic client registration requests attempting security-sensitive client attribute manipulation (CVE-2026-105306)"
        author = "valtersit.com"
        date = "2026-01-01"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-105306"
        tlp = "WHITE"
    strings:
        $dcr_endpoint = "/realms/" ascii nocase
        $reg_path     = "/clients-registrations/" ascii nocase
        $attr_aud     = "audience" ascii nocase
        $attr_claims  = "claims" ascii nocase
        $attr_scope   = "scope" ascii nocase
        $introspect   = "introspect" ascii nocase
    condition:
        $reg_path and $dcr_endpoint and any of ($attr_*)
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-105306 Keycloak Dynamic Client Registration Sensitive Attribute Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/clients-registrations/"; http.uri; content:"/realms/"; http.request_body; content:"audience"; nocase; http.request_body; content:"introspect"; nocase; classtype:attempted-recon; reference:cve,2026-105306; sid:900105306; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=5m
  [any where event.action == "client_register" and url.path : "/clients-registrations/*"]
  [any where event.action == "token_introspect" and url.path : "*/protocol/openid-connect/token/introspect"]

Splunk SPL Query

index=keycloak sourcetype=keycloak:event
| search (event_type="CLIENT_REGISTER" OR event_type="CLIENT_REGISTER_ERROR" OR uri_path="*clients-registrations*" OR uri_path="*introspect*")
| stats count min(_time) as first_seen max(_time) as last_seen values(uri_path) as paths values(client_id) as client_ids by src_ip, realm, user
| where count > 5
| eval first_seen=strftime(first_seen,"%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen,"%Y-%m-%d %H:%M:%S")
| sort - count

Wazuh OSSEC Rule

<group name="keycloak,cve-2026-105306,">
  <rule id="105306" level="10">
    <decoded_as>json</decoded_as>
    <field name="event_type">CLIENT_REGISTER</field>
    <description>CVE-2026-105306: Keycloak dynamic client registration event - potential sensitive attribute bypass</description>
    <mitre>
      <id>T1078</id>
    </mitre>
  </rule>
  <rule id="105307" level="12">
    <decoded_as>json</decoded_as>
    <field name="event_type">TOKEN_INTROSPECT</field>
    <field name="client_id">\.*</field>
    <description>CVE-2026-105306: Suspicious token introspection following dynamic client registration</description>
    <mitre>
      <id>T1078</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). No vendor fix or workaround is currently available.

  1. Immediate mitigations.

    • Disable the Dynamic Client Registration endpoint if it is not operationally required. In Keycloak, this is typically controlled through realm-level client registration policy; disabling it removes the attack surface entirely.
    • Audit and revoke Initial Access Tokens that are no longer necessary, and rotate any tokens issued to partners or integration systems. Limit the number of valid Initial Access Tokens to the minimum required set.
    • Restrict the Dynamic Client Registration endpoint at the network layer (reverse proxy / WAF) so only trusted source networks or identities can reach it.
    • Narrow the blast radius by segregating applications into separate Keycloak realms, preventing cross-application token introspection exposure within a shared realm.
    • Monitor introspection logs aggressively for clients that did not exist prior to a registration event.
  2. Patch/upgrade steps.

    • No patched version is identified in the available data. Monitor the Keycloak project's security advisories and release notes for a fixed version referencing CVE-2026-105306.
    • Once a patch is published, apply it to all Keycloak instances and validate that the Dynamic Client Registration flow now filters security-sensitive client attributes and enforces audience checks during introspection.
    • After upgrading, review all clients created via Dynamic Client Registration for unauthorized or unexpected attribute configurations.
  3. Long-term hardening.

    • Enforce attribute allow-listing for all Dynamic Client Registration requests, ensuring sensitive client configuration cannot be set by low-privilege token holders.
    • Require administrative approval or elevated authorization for client attributes that influence token audience and introspection behavior.
    • Implement continuous monitoring and alerting aligned with the detection rules above, and periodically audit realm client inventories for anomalous entries.
    • Apply defense-in-depth through network segmentation and short-lived Initial Access Tokens.

References

No threat actor campaign or exploit-in-the-wild evidence is associated with CVE-2026-105306 at this time. The vulnerability is not listed in CISA KEV, and no public proof-of-concept, Nuclei template, or exploit code has been observed.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Keycloak"
title:"Keycloak"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-105306/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.