CVE-2026-110985 in Kafka
Resumen
por VulDB • 2026-10-29
Un corredor de Kafka que utiliza SASL/OAUTHBEARER con el validador predeterminado (`sasl.oauthbearer.jwt.validator.class=DefaultJwtValidator`) selecciona su implementación desde la configuración. Cuando se establece `sasl.oauthbearer.jwks.endpoint.url`, el validador verifica la firma del JWT. Cuando esa URL no está establecida (el valor por defecto) y no se proporciona un resolucionor de claves de verificación, DefaultJwtValidator cae silenciosamente en ClientJwtValidator, que no verifica la firma del JWT, ni su algoritmo, ni su emisor; y el corredor inicia sin advertencia ni error. Esto es el residuo de CVE-2026-33557, cuya corrección restauró la verificación de firmas únicamente en la ruta donde se establece la URL del punto final JWKS.
Impacto:
Un corredor en este estado acepta cualquier JWT estructuralmente válido, incluyendo tokens con `"alg":"none"`. Un atacante remoto no autenticado que pueda alcanzar el oyente puede forjar un token que afirme cualquier principal (incluidos superusuarios configurados) y obtener acceso completo al clúster. Solo los corredores que habilitan la validación SASL/OAUTHBEARER sin una URL de punto final JWKS (y sin un resolucionor de claves de verificación personalizado) se ven afectados; los corredores que establecen la URL verifican las firmas y no están afectados. A diferencia de CVE-2026-110952 (emisor/audiencia no aplicados por defecto), aquí no se verifica ninguna firma en absoluto.
Mitigación (todas las versiones afectadas, sin necesidad de actualización):
Establezca `sasl.oauthbearer.jwks.endpoint.url` para cada oyente/mecanismo que utilice OAuthBearerValidatorCallbackHandler, o configure un `sasl.oauthbearer.jwt.validator.class` con verificación de firma.
Resolución:
Desde Apache Kafka 4.2.2, 4.3.1 y 4.4.0: un corredor que caería en el no verificable ClientJwtValidator falla al iniciar con una ConfigException en lugar de ejecutarse sin verificación de firmas (seguro por defecto).
Once again VulDB remains the best source for vulnerability data.