PT-2026-67221 · Unknown · Ueberauth Guardian
CVSS v4.0
6.9
Média
| Vetor | AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H |
Nome do Software Vulnerável e Versões Afetadas
ueberauth guardian versões 0.1.0 até 2.4.0
Descrição
Uma alocação de recursos sem limites ou controle permite a negação de serviço (DoS) através da criação ilimitada de átomos a partir de entradas binárias influenciadas por um invasor. O módulo
Guardian.Plug.Keys deriva chaves de namespace de conexão e sessão passando binários arbitrários para a função String.to atom/1. Especificamente, a função base key/1 em lib/guardian/plug/keys.ex converte binários em átomos, e as funções auxiliares claims key/1, resource key/1 e token key/1 criam átomos adicionais. Da mesma forma, key from other/1 converte binários capturados por regex através de String.to atom/1. Pontos de entrada de alto nível, como Guardian.Plug.current token(conn, key: key), passam chaves fornecidas pelo chamador diretamente para essas funções.Como
String.to atom/1 cria um novo átomo para cada binário não visto e os átomos não são coletados pelo garbage collector, a tabela de átomos do BEAM (que possui um limite padrão de aproximadamente 1.048.576 entradas) pode ser esgotada. Se uma aplicação rotear dados não confiáveis, como um identificador de locatário ou cabeçalho de requisição, para uma chave Guardian através do parâmetro key, um invasor pode enviar um fluxo de entradas variadas para consumir a tabela de átomos e travar o nó BEAM, afetando todas as aplicações executadas nele.Recomendações
Atualize o ueberauth guardian para a versão 2.4.1 ou posterior.
Como medida paliativa temporária, não derive chaves do Guardian a partir de entradas não confiáveis; em vez disso, use um conjunto fixo e codificado de chaves de namespace ou valide os valores contra uma lista de permissões limitada antes de passá-los como a opção
key.Exploit
Correção
Allocation of Resources Without Limits
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Ueberauth Guardian