PT-2026-71309 · Ash · Ash

·

CVE-2026-67579

·

Publicado

2026-08-12

·

Atualizado

2026-08-12

CVSS v4.0

7.5

Alta

VetorAV: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.

Exploit

Correção

SQL injection

Deserialization of Untrusted Data

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-67579
GHSA-3GQ3-9XM3-C8V3

Produtos afetados

Ash