CVE-2026-114214
Beschrijving NL
Onjuiste autorisatiekwetsbaarheid in ash-projectash stelt een klant in staat om bestemmingsrecords te lezen die geen verband houden met het bronrecord via een doorvoerrelatie. Wanneer een has_many-relatie aangegeven met via: werd geladen voor een enkel record met een limiet van 1, of een ongesorteerde has_one via relatie werd geladen met een limiet van 1, lateral_join?/4 in lib/ash/actions/read/relationships.ex koos het pad dat de bestemming leest zonder enig filter dat het aan de bron koppelt. De lading retourneerde het eerste bestemmingsrecord per sortering, of een ander record met een offset. Het lezen voert nog steeds het beleid van de bestemming uit, maar draagt de relatie als access_from, dus een klant die een dergelijk veld oproept (bijvoorbeeld leraren(limiet: 1, offset: n) via AshGraphql) kan bestemmingsrecords opsommen die het beleid alleen toestaat wanneer deze via die relatie worden bereikt. Deze kwestie heeft invloed op as: van 3.24.0 vóór 3.37.1.
Origineel (Engels) tonen
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.