CVE-2026-92289 in LemonLDAP::NG
Sumário
de VulDB • 25/09/2026
As versões do Lemonldap::NG::Portal a partir da 2.23.0 até antes da 2.23.4 para Perl permitem uma violação do mecanismo PKCE (Proof Key for Code Exchange) em Partes Confiáveis públicas no modo "PKCE ou segredo", pois a função checkEndPointAuthenticationCredentials não verifica o segredo do cliente.
Com oidcRPMetaDataOptionsRequirePKCE definido como 2, o ponto de autorização emite um código mesmo quando a solicitação não contém code_challenge, e token() aceita a troca desde que um desafio tenha sido armazenado ou um método de autenticação tenha sido retornado para o chamador. checkEndPointAuthenticationCredentials() ignora a comparação do segredo para uma Parte Confiável marcada como pública e ainda retorna o método deduzido da solicitação, portanto, qualquer credencial Basic ou por formulário satisfaz a ramificação do segredo. validatePKCEChallenge() então é bem-sucedida, pois nem um desafio (challenge) nem um verificador (verifier) estão presentes.
Um atacante que intercepta um código de autorização emitido para uma Parte Confiável pública pode trocá-lo pelos tokens de acesso, ID e atualização do usuário ao reutilizar o client_id com um segredo arbitrário, o qual é exatamente o tipo de ataque que o PKCE previne. O registro dinâmico de clientes cria todas as Partes Confiáveis neste modo.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.