PT-2026-71309
CVE-2026-67579
·
Publicado
2026-08-12
·
Atualizado
2026-08-12
Descrição por
CVSS 4.0
7.5
AltaMétricasAV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Nome do Software Vulnerável e Versões Afetadas
ash versões 1.17.0 até 3.31.2
Description
Um invasor não autenticado pode injetar uma expressão de filtro usando um cursor de paginação de keyset forjado. Isso ocorre porque as ações de leitura com paginação de keyset decodificam os cursores
page[:after] ou page[:before] fornecidos pelo cliente na função decode values/2 em lib/ash/page/keyset.ex usando non executable binary to term/2 com [:safe]. Embora esse guard bloqueie novos átomos, funs e portas, ele não bloqueia structs construídas a partir de átomos já internados em uma aplicação em execução. Consequentemente, uma expressão %Ash.Query.Call{} decodificada pode ser inserida no filtro de keyset como um valor de comparação em do filters/4 e avaliada. Como o cursor ignora a macro Ash.Expr, o runtime não aplica o gate private?/public?. O impacto varia de acordo com a camada de dados: o AshPostgres permite a injeção de SQL, enquanto as camadas de dados ETS e Simple permitem que a expressão seja avaliada no processo como uma chamada de função arbitrária.Recommendations
Atualize o ash para a versão 3.31.3 ou posterior.
Explorabilidade
Exploit
Correção
Impactos
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾