Direct naar de inhoud
⚡ Kritieke cyberalerts voor jouw sector & systemen — direct in je inbox. Aanmelden →
CVE's Videos Dagbriefing

← Terug naar CVE-database

CVE-2026-115635

NONE Gepubliceerd: CWE-863

Beschrijving NL

Onjuiste kwetsbaarheid voor autorisatie in ash-project ash_postgres stelt een gebruiker in staat om het record van een andere huurder te lezen via een overgeslagen upsert. Wanneer Ash.bulk_create/4 of een enkele creatie als een upsert wordt uitgevoerd met return_skipped_upsert?: true en de upsert wordt overgeslagen (bijvoorbeeld omdat de upsert_condition niet geldt), leest AshPostgres.DataLayer de bestaande rij terug door de upsert-identiteit in do_bulk_create/3 en upsert/4. Die zoekopdracht paste de multitenancy van het kenmerk van de resource niet toe, dus op een resource die strategie :attribuut gebruikt, kan deze de rij van een andere tenant met dezelfde identiteitswaarden matchen en retourneren, waardoor de velden aan de beller worden blootgesteld. Dit probleem heeft invloed op ash_postgres: van 2.6.22 voor 2.15.2.

Origineel (Engels) tonen

Incorrect Authorization vulnerability in ash-project ash_postgres allows a user to read another tenant's record through a skipped upsert.

When Ash.bulk_create/4 or a single create runs as an upsert with return_skipped_upsert?: true and the upsert is skipped (for example because its upsert_condition does not hold), AshPostgres.DataLayer reads the existing row back by the upsert identity in do_bulk_create/3 and upsert/4. That lookup did not apply the resource's attribute multitenancy, so on a resource using strategy :attribute it could match and return the row of another tenant with the same identity values, exposing its fields to the caller.

This issue affects ash_postgres: from 2.6.22 before 2.15.2.

References