CVE-2026-8830 Overview
A flaw in Keycloak allows authenticated users to bypass configured WebAuthn policies during credential registration. The vulnerability stems from reliance on client-side JavaScript enforcement [CWE-603] of security policies. An attacker manipulates the registration flow because the server-side processAction() method fails to validate that newly created credential parameters, such as public key algorithms, match the realm's configured WebAuthn policy. This enables registration of credentials that do not adhere to administrative security requirements, weakening authentication strength across the affected realm.
Critical Impact
Authenticated users can register WebAuthn credentials that violate realm-level security policies, undermining administrator-enforced authentication controls and producing non-compliant authenticators.
Affected Products
- Red Hat Keycloak
- Red Hat Single Sign-On (RH-SSO)
- Keycloak upstream distributions implementing WebAuthn registration
Discovery Timeline
- 2026-05-19 - CVE-2026-8830 published to the National Vulnerability Database
- 2026-05-19 - Last updated in NVD database
Technical Details for CVE-2026-8830
Vulnerability Analysis
Keycloak supports WebAuthn as an authentication mechanism and exposes administrative controls for enforcing credential policies at the realm level. Administrators configure parameters including allowed public key signature algorithms, attestation conveyance preferences, authenticator attachment requirements, and resident key behavior. These controls exist to ensure registered authenticators meet organizational assurance levels.
The vulnerability arises because Keycloak enforces these policy constraints primarily on the client side using JavaScript. The server-side processAction() handler responsible for accepting the registered credential trusts the client-supplied output rather than re-validating it against the realm policy. An authenticated user who modifies the in-browser registration flow can submit credentials that deviate from the configured policy.
The issue maps to [CWE-603] Use of Client-Side Authentication. The integrity impact is limited because the attacker must already be authenticated, and confidentiality and availability are unaffected. However, the resulting authenticators remain valid for subsequent sign-ins, persistently weakening identity assurance for the affected account.
Root Cause
The server-side credential registration handler does not re-verify attestation statement parameters against the configured WebAuthn realm policy. Validation steps such as confirming the COSEAlgorithmIdentifier falls within the allowed signature algorithm list, that attestation conveyance matches the policy, and that authenticator selection criteria are honored are omitted from the trusted server path.
Attack Vector
An authenticated user initiates a WebAuthn credential registration. The user intercepts or modifies the client-side JavaScript responsible for invoking navigator.credentials.create(), supplying parameter choices outside the realm policy, for example a weaker signature algorithm than the administrator permits. The resulting PublicKeyCredential is posted to Keycloak's registration endpoint, where processAction() accepts it without comparing the credential parameters against the realm WebAuthn policy. The non-compliant authenticator is persisted and usable for future authentication.
No verified public exploit code is available. See the Red Hat CVE-2026-8830 Advisory and Red Hat Bug Report #2479565 for technical details.
Detection Methods for CVE-2026-8830
Indicators of Compromise
- WebAuthn credentials registered in Keycloak whose COSEAlgorithmIdentifier or attestation type does not match the realm's configured WebAuthn policy.
- Audit log entries for credential registration events originating from user sessions where client-side requests were modified or replayed.
- Unusual user-agent strings or scripted clients submitting register-credential actions to the Keycloak authentication endpoint.
Detection Strategies
- Periodically export registered WebAuthn credentials and reconcile their stored algorithm and attestation metadata against the realm policy to flag drift.
- Enable Keycloak event listeners for UPDATE_CREDENTIAL and REGISTER events and forward them to a centralized log platform for analysis.
- Alert on credential registrations completed faster than typical user-driven flows, which can indicate scripted manipulation.
Monitoring Recommendations
- Ship Keycloak admin and user event logs to a SIEM and build correlation rules tied to WebAuthn registration outcomes.
- Monitor administrative changes to WebAuthn realm policies to ensure baselines are not silently relaxed.
- Track authentication events that use credentials registered after the disclosure date for retroactive review.
How to Mitigate CVE-2026-8830
Immediate Actions Required
- Apply the Keycloak update referenced in the Red Hat CVE-2026-8830 Advisory as soon as it is available for your distribution.
- Audit existing WebAuthn credentials in each realm and revoke any that do not conform to the configured policy.
- Restrict self-service credential registration to trusted network segments until patching is complete.
Patch Information
Red Hat tracks remediation under the Red Hat CVE-2026-8830 Advisory and Red Hat Bug Report #2479565. The fix introduces server-side validation in processAction() so that submitted credential parameters are compared against the realm WebAuthn policy before persistence. Confirm the fixed version for your specific Keycloak or Red Hat Single Sign-On distribution before deployment.
Workarounds
- Disable user-initiated WebAuthn credential registration and require administrators to provision authenticators on behalf of users until the patch is applied.
- Require step-up authentication for credential registration flows so unauthorized changes are harder to chain from a single compromised session.
- Implement periodic reconciliation scripts that query the Keycloak admin API and remove credentials whose algorithm or attestation type violates the realm policy.
# Example: list WebAuthn credentials for review via Keycloak admin CLI
kcadm.sh get users/{userId}/credentials -r {realm} \
--fields id,type,credentialData,createdDate
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


