CVE-2026-16093: Keycloak-services: keycloak-services: required signed-jwt assertion policy can be bypassed with unsigned assertion headers

Published Jul 17, 2026
·
Updated

A flaw was found in the Secure Client Registration executor within the keycloak-services component. The vulnerability exists in the logic that enforces the signed-JWT assertion policy for client registration and updates. When the SecureSigningAlgorithmForSignedJwtExecutor is configured to require a client assertion, it only checks the alg field in the raw client assertion JWT header. It fails to validate that the client assertion type is present or that the client's actual authenticator is assertion-based. By providing a specially crafted request with an unsigned assertion header containing a valid alg field, an attacker with valid client credentials can bypass the signature verification check. This allows the attacker to successfully authenticate or update a client without providing the required cryptographic proof of identity. Successful exploitation allows an attacker to circumvent administrative security policies intended to restrict client authentication to trusted assertion-based methods.

Other sources

Keycloak provides a mechanism called Client Policies to enforce security requirements on clients, such as requiring them to use signed JWTs for authentication. A flaw was discovered where this enforcement can be bypassed. An attacker with valid client credentials can provide a fake, unsigned assertion header that tricks the system into thinking the policy requirements have been met. This allows the attacker to authenticate using simpler methods like a client secret even when the administrator has mandated more secure, signed assertions.

MITRE

Affected Software

5 affected components
Keycloak keycloak-services
redhat Build Of Keycloak
redhat Data Grid=8.0
redhat Jboss Enterprise Application Platform Expansion Pack
redhat Single Sign-on=7.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Ensure client registration/update requests cannot be made with client-secret (or other non-assertion-based) authentication when Client Policies require signed JWT assertion. Enforce this at the network/ingress/authorization layer so only trusted clients and trusted flows can reach the Keycloak Secure Client Registration executor.

Event History

Jul 17, 2026
Data Sourced
via Red Hat·02:08 PM
DescriptionSeverityAffected Software
CVE Published
via MITRE·04:42 PM
Data Sourced
via MITRE·04:42 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:17 PM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-16093?

CVE-2026-16093 has a medium severity score of 5.4.

2

How do I fix CVE-2026-16093?

To fix CVE-2026-16093, ensure that the SecureSigningAlgorithmForSignedJwtExecutor is properly configured to enforce signed JWT assertion policies.

3

What type of vulnerability is CVE-2026-16093?

CVE-2026-16093 is a vulnerability in the keycloak-services component related to bypassing signed JWT assertion policies.

4

Which software is affected by CVE-2026-16093?

CVE-2026-16093 affects the Keycloak keycloak-services component.

5

When was CVE-2026-16093 published?

CVE-2026-16093 was published on July 17, 2026.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203