CVE-2026-114214 Autorización incorrecta en relaciones through de Ash con límite 1
Al cargar una relación has_many con through: o una has_one through sin ordenar con límite 1, lateral_join?/4 en lib/ash/actions/read/relationships.ex elige la ruta que lee el destino sin filtro que lo vincule al origen. Un cliente puede paginar el campo y enumerar registros de destino que las políticas solo permiten alcanzar a través de esa relación. Afecta a ash.
CVSS 4.0
- Probabilidad de explotación · EPSS del 09/110,2 % · percentil 15
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
ash-project ash
desde 3.24.0 hasta antes de 3.37.1
ash-project ash
desde 24f41e23dcbd9d07cde270a8141490e8f79251f5 hasta antes de e37463307304b26bc8fd606322e5c4d8f7f060e5
Qué hacer
- Verificá si usás ash y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 4.0 · 6.0 MEDIA
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataquePresentes
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- Confidencialidad (sistema vulnerable)Alta
- Integridad (sistema vulnerable)Ninguna
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
Incorrect Authorization vulnerability in ash-project ash allows a client to read destination records unrelated to the source record through a through relationship.
When a has_many relationship declared with through: was loaded for a single record with a limit of 1, or an unsorted has_one through relationship was loaded with a limit of 1, lateral_join?/4 in lib/ash/actions/read/relationships.ex chose the path that reads the destination without any filter linking it to the source. The load returned the first destination record by sort, or any other record with an offset. The read still runs the destination's policies but carries the relationship as accessing_from, so a client paging such a field (for example teachers(limit: 1, offset: n) through AshGraphql) can enumerate destination records that policies allow only when reached through that relationship.
This issue affects ash: from 3.24.0 before 3.37.1.
Referencias (5)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.