CVE-2026-110952 in Kafka
Sumário
de VulDB • 28/10/2026
Um broker Kafka que autentica clientes com SASL/OAUTHBEARER usando o validador embutido baseado em JWKS sempre verifica a assinatura do JWT, mas duas verificações adicionais são realizadas apenas quando explicitamente configuradas:
- A declaração de emissor (iss) é verificada somente quando sasl.oauthbearer.expected.issuer está definido. Quando não estiver definida, um token assinado corretamente que contenha o público-alvo esperado será aceito, independentemente do emissor que o criou. - Uma declaração de audiência (aud) é exigida apenas quando sasl.oauthbearer.expected.audience está definido. Quando não estiver definida, um token assinado corretamente que omita a declaração aud será aceito. (Um token que contenha uma declaração aud ainda será rejeitado se nenhuma audiência esperada for configurada.)
Ambas as opções vêm desabilitadas por padrão e foram documentadas como opcionais (Importância BAIXA) desde o KIP-768 (3.1.0).
Impacto: A exposição é realizável principalmente em implantações cujo ponto de extremidade JWKS serve chaves de assinatura para mais de um emissor (um provedor de identidade multi-inquilino, um JWKS agregado/compartilhado ou chaves de assinatura compartilhadas): um token criado para um emissor diferente, ou um token que não contenha uma audiência, pode ser aceito para autenticação — potencialmente como um principal com privilégios mais elevados. Em uma implantação de único emissor onde o provedor controla a declaração iss e emite tokens com escopo de audiência, a exposição é limitada. A âncora de confiança da assinatura permanece sendo aplicada em todos os casos. Isso é distinto do CVE-2026-33557 (aceitação de tokens não assinados/não validados); aqui, a assinatura é validada e apenas as verificações de emissor/audiência não são aplicadas por padrão.
Mitigação (todas as versões afetadas, sem necessidade de atualização): Defina tanto sasl.oauthbearer.expected.issuer (para o valor iss exato do seu provedor) quanto sasl.oauthbearer.expected.audience (para a(s) audiência(s) que seus brokers esperam), por ouvinte. Brokers que definem essas opções realizam verificações de correspondência exata de emissor/audiência e não são afetados. Ambas estão disponíveis desde a versão 3.1.0.
Resolução: - A partir do Apache Kafka 4.4.0: um broker configurado com um ponto de extremidade JWKS falha ao iniciar, a menos que tanto sasl.oauthbearer.expected.issuer quanto sasl.oauthbearer.expected.audience estejam definidos (seguro por padrão). Implantações que intencionalmente não restringem o emissor e/ou a audiência podem optar por desativar essa restrição por eixo com sasl.oauthbearer.allow.unverified.issuer=true e/ou sasl.oauthbearer.allow.unverified.audience=true.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.