CVE-2026-88770: Keycloak Oauth2 Grant Missing Brute Force Lockout Check

Device-code grant redemption (grant_type=urn:ietf:params:oauth:grant-type:device_code) validates the redeeming user only with UserModel.isEnabled() and never consults brute-force lockout state. Temporary lockout is tracked separately by BruteForceProtector/attack-detection state and does not clear the enabled flag, so an approved, non-expired, single-use dev

Provally CuratedPublic repositoryMediumMedium confidenceVerifiedApache-2.0Java
greprules fetch cve-2026-88770-keycloak-oauth2-grant-missing-brute-force-lockout-check --engine opengrep

Description

Device-code grant redemption (grant_type=urn:ietf:params:oauth:grant-type:device_code) validates the redeeming user only with UserModel.isEnabled() and never consults brute-force lockout state. Temporary lockout is tracked separately by BruteForceProtector/attack-detection state and does not clear the enabled flag, so an approved, non-expired, single-use dev