PT-2026-39148 · Absinthe · Absinthe
Curtis Schiewek
+1
·
Publicado
2026-05-08
·
Atualizado
2026-05-14
·
CVE-2026-43967
CVSS v4.0
8.7
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
absinthe versões 1.2.0 até 1.10.1
Descrição
Um problema de complexidade algorítmica ineficiente permite a negação de serviço não autenticada por meio da validação quadrática de unicidade de nomes de fragmentos. A função
run/2 em Elixir.Absinthe.Phase.Document.Validation.UniqueFragmentNames itera sobre todos os fragmentos e chama duplicate?/2, que realiza uma varredura linear completa da lista de fragmentos usando Enum.count(fragments, &(&1.name == name)). Isso resulta em O(N²) comparações por documento, onde N é o número de definições de fragmentos fornecidas pelo chamador. Como input.fragments é construído diretamente do corpo da consulta GraphQL, um invasor pode controlar N. Por exemplo, um documento de aproximadamente 1 MB contendo cerca de 60.000 fragmentos pode forçar aproximadamente 3,6 × 10⁹ comparações durante esta fase de validação, sem a necessidade de autenticação, conhecimento do esquema ou configuração especial.Recomendações
Atualize para a versão 1.10.2 ou posterior.
Correção
DoS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Absinthe