Skip to main content
← All vulnerabilities
CVE-2026-115627EUVD-2026-109569EEF-CVE-2026-115627GHSA-GR2R-F49C-9GM2

AshPostgres ignores attribute multitenancy on the join resource when loading many_to_many and through relationships, returning records related through other tenants' rows

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.15.2
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

AshPostgres, the PostgreSQL data layer for the Elixir Ash framework, is affected. When many-to-many or through relationships are loaded with certain query options, it can return records linked only through join rows belonging to other tenants, exposing data across tenant boundaries in multitenant applications.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

Incorrect Authorization vulnerability in ash-project ash_postgres allows a user to load destination records linked to a source record only through another tenant's join rows. When a many_to_many relationship, or a through relationship, is loaded with a lateral join (for example with a per-record limit or sort), AshPostgres.DataLayer builds the query for the join resource, and for each resource along a through path, in lateral_join_query/3 and through_step_queries/4 without running that resource's read action, which is where attribute multitenancy is applied. When those resources use strategy :attribute multitenancy, rows belonging to other tenants were joined, so the load returned destination records that the caller's tenant is not related to. This issue affects ash_postgres: from 0.38.0 before 2.15.2.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  4. Record last updated

Affected versions

  • ash_postgres

    From 0.38.0 · fixed in 2.15.2

  • ash-project/ash_postgres

    From 7115bec58678f13b1ac2fb4822a0ba1aea9dbec5 · fixed in 8c25c945c39a45299193fe70b09fc2fa2aacac7b

  • ash_postgresHex

    From 0.38.0 · fixed in 2.15.2

References 5

GitHub · ash-project/ash

cna.erlef.org

osv.dev

GitHub · ash-project/ash_postgres