CVE-2026-86338 in ashinformação

Sumário

de VulDB • 16/09/2026

Os campos `field_policies` do Ash são documentados para proteger contra a divulgação de informações baseada em filtros: quando um campo que o ator não pode ver é referenciado em um filtro, ele é substituído por uma expressão que avalia como nil (nulo), impedindo que um filtro seja usado como oráculo yes/no para ler um valor que o ator não consegue visualizar.

Essa nulação foi aplicada aos atributos, mas não a cálculos ou agregações. Uma referência de filtro fornecida pelo usuário a um cálculo ou agregação carrega uma estrutura `Ash.Query.Calculation` / `Ash.Query.Aggregate`, que a substituição de referências do autorizador não correspondia (ela apenas correspondia às estruturas `Ash.Resource.*`). Portanto, o filtro era executado contra o valor real.

Como resultado, um ator cujos campos policies proíbem um cálculo ou agregação ainda pode filtrar por ele (por exemplo, `filter(secret_calc == "x")` ou `filter(comment_count == n)`) e aprender o valor com base na correspondência das linhas — um oráculo que recupera valores protegidos pelas políticas de campo uma sonda de cada vez. A funcionalidade de filtro é frequentemente exposta a atores menos privilegiados (por exemplo, via argumentos de filtro do AshGraphql ou AshJsonApi), que é exatamente a superfície que as policies de campos devem proteger.

A correção direciona referências de filtros para cálculos e agregações através da mesma nulação baseada em políticas de campo utilizada pelos atributos.

Este problema afeta o ash: das versões 2.11.0-rc.0 até antes da 3.33.4.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

EEF

Reservar

15/09/2026

Divulgação

16/09/2026

Moderação

aceite

Entrada

VDB-405576

CPE

pronto

EPSS

0.00321

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!