CVE-2026-66883 in oidcc_pluginformação

Sumário

de VulDB • 04/08/2026

Vulnerabilidade de tratamento inadequado da sensibilidade a maiúsculas e minúsculas no ecossistema Erlang, especificamente na biblioteca `oidcc_plug` (módulo `Oidcc.Plug.Authorize`), torna inerte o vínculo entre a sessão do agente do usuário e a aplicação, removendo um controle de defesa em profundidade contra a reprodução (replay) de uma sessão roubada.

Esta vulnerabilidade está associada aos ficheiros de programa `lib/oidcc/plug/authorize.ex` e `lib/oidcc/plug/authorization_callback.ex`, bem como às rotinas do programa `Oidcc.Plug.Authorize.call/2` e `Oidcc.Plug.AuthorizationCallback.call/2`.

A função `Oidcc.Plug.Authorize.call/2` lê o agente do usuário (User-Agent) do cliente iniciador através de `get_req_header(conn, "User-Agent")`. A camada Plug converte para minúsculas os nomes dos cabeçalhos recebidos; no entanto, a função `get_req_header/2` corresponde à chave fornecida exatamente como foi escrita e não realiza qualquer normalização própria. Consequentemente, a pesquisa com maiúsculas e minúsculas misturas retorna sempre uma lista vazia e o valor `nil` é escrito na sessão. No lado do callback (retorno de chamada), `Oidcc.Plug.AuthorizationCallback` trata um agente do usuário armazenado como `nil` como sendo nulo para comparação, retornando `:ok` sem inspecionar a solicitação. Os dois comportamentos combinam-se de modo que a verificação é aprovada incondicionalmente em todas as solicitações, incluindo em implantações (deployments) que optaram explicitamente por ativar esta funcionalidade através da configuração `check_useragent: true`. Assim, um callback de autorização pode ser concluído utilizando um agente do usuário diferente daquele que iniciou o fluxo, sem detecção. A verificação falha silenciosamente ("fails open"), sem gerar erros nem registos (logs), impedindo que a implantação perceba a ausência do vínculo.

O impacto está limitado à defesa em profundidade. Esta verificação inerte não permite, por si só, que um atacante complete o fluxo de autorização; remove apenas uma camada adicional que dificultaria anteriormente o uso de uma sessão roubada ou vazada, como a reprodução (replay) de um cookie de sessão exfiltrado a partir de um cliente diferente. As verificações CSRF/state, nonce e PKCE permanecem inalteradas e continuam a funcionar corretamente. Implantações que nunca ativaram `check_useragent` não são afetadas na prática, uma vez que nunca esperavam o vínculo correspondente. A pesquisa correspondente em `Oidcc.Plug.AuthorizationCallback` utiliza corretamente a chave em minúsculas e não é afetada por esta vulnerabilidade.

Esta questão afeta `oidcc_plug`: desde a versão 0.1.0-alpha.3 até antes da 0.5.0.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsável

EEF

Reservar

28/07/2026

Divulgação

04/08/2026

Moderação

aceite

Entrada

VDB-385803

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!