CVE-2026-67579 in ashinformação

Sumário

de VulDB • 12/08/2026

Vulnerabilidade de desserialização de dados não confiáveis no ash-project ash permite que um atacante não autenticado injete uma expressão de filtro por meio de um cursor de paginação keyset forjado, resultando em injeção SQL ou execução de código, dependendo da camada de dados.

As operações de leitura com paginação keyset decodificam o cursor `page[:after]` ou `page[:before]` fornecido pelo cliente na função `decode_values/2`, localizada no arquivo `lib/ash/page/keyset.ex`, utilizando a função `non_executable_binary_to_term/2` com a opção `[:safe]`. Essa proteção bloqueia novos átomos, funções (funs) e portas (ports), mas não impede que uma estrutura construída a partir de átomos já internados em um aplicativo Ash em execução seja decodificada. Assim, uma expressão `%Ash.Query.Call{}` sobrevive à decodificação e é inserida no filtro keyset como valor de comparação na função `do_filters/4`, onde é avaliada. Como o cursor contorna a macro `Ash.Expr`, o tempo de execução nunca aplica as verificações privadas/públicas (`private?`/`public?`) que, caso contrário, rejeitariam essa entrada. No AshPostgres, o fragmento injetado é incorporado diretamente na consulta SQL; nas camadas de dados ETS e Simple, ele é avaliado no processo local como uma chamada de função arbitrária.

Este problema afeta a biblioteca ash: das versões 1.17.0 até antes da versão 3.31.3.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

EEF

Reservar

09/08/2026

Divulgação

12/08/2026

Moderação

aceite

Entrada

VDB-389233

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!