CVE-2026-86338 in ashinformación

Resumen

por VulDB • 2026-09-16

Los campos `field_policies` de Ash están documentados para proteger contra la divulgación de información basada en filtros: cuando un campo que el actor no puede ver es referenciado en un filtro, se reemplaza con una expresión que evalúa a nil (nulo), por lo que un filtro no puede utilizarse como oráculo sí/no para leer un valor que el actor no tiene permiso para ver.

Esta sustitución por nulos se aplicó a los atributos, pero no a los cálculos o agregados. Una referencia de filtro proporcionada por el usuario a un cálculo o agregado lleva una estructura `Ash.Query.Calculation` / `Ash.Query.Aggregate`, que la sustitución de referencias del autorizador no coincidió (ya que solo coincidía con las estructuras `Ash.Resource.*`), por lo que el filtro se ejecutó contra el valor real.

Como resultado, un actor cuyas políticas de campo prohíben un cálculo o agregado aún puede filtrar por él (por ejemplo, `filter(secret_calc == "x")` o `filter(comment_count == n)`) y aprender el valor a partir de si las filas coinciden: un oráculo que recupera valores protegidos por políticas de campo una sonda a la vez. El filtrado se expone comúnmente a actores con privilegios más bajos (por ejemplo, mediante los argumentos de filtro de AshGraphql o AshJsonApi), lo cual es exactamente la superficie que las políticas de campo están diseñadas para proteger.

La solución dirige las referencias de filtros a cálculos y agregados a través del mismo mecanismo de sustitución por nulos basado en políticas de campos utilizado para los atributos.

Este problema afecta a ash: desde 2.11.0-rc.0 hasta antes de 3.33.4.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

EEF

Reservar

2026-09-15

Divulgación

2026-09-16

Moderación

aceptado

Artículo

VDB-405576

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!