All vulnerabilities
CVE-2026-115627GHSA-gr2r-f49c-9gm2

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

ash-project ash_postgres
CVSS
6.0Medium
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)No scoreNo FIRST EPSS score in this snapshot yet
Fixed in2.15.2Also 8c25c945c39a45299193fe70b09fc2fa2aacac7bCVE List
Published25 Oct 2026Updated 25 Oct 2026CVE List

What fixes it

  • 2.15.2ash_postgresCVE List
  • 8c25c945c39a45299193fe70b09fc2fa2aacac7bash_postgresCVE List

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

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.

Text from CVE List

Affected versions 2

  • ash_postgresaffected: 0.38.0 before 2.15.2CVE List
  • ash_postgresaffected: 7115bec58678f13b1ac2fb4822a0ba1aea9dbec5 before 8c25c945c39a45299193fe70b09fc2fa2aacac7bCVE List

References 5