CVE-2026-115627 json
AshPostgres ignores attribute multitenancy on the join resource when loading many_to_many and through relationships, returning records related through other tenants' rows
published 15d ago modified 14d ago also EEF-CVE-2026-115627 , EUVD-2026-109569 , GHSA-gr2r-f49c-9gm2
- cvss
- 6.0
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 15%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- hex ash_postgres 2.15.2
- ash-project ash_postgres 2.15.2
Is CVE-2026-115627 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 14d ago
Exploit prediction
0.25% chance of exploitation in the next 30 days, higher than 15% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.0 | 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 |
| CNA | 4.0 | 6.0 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ash_postgres | >=0.38.0, <2.15.2 |
2.15.2 |
Affected products
- ash-project ash_postgres
Classification
- Weakness
-
- CWE-863 Incorrect Authorization
References
-
github.com
/ash-project/ash_postgres/commit/7115bec58678f13b1ac2fb4822a0ba1aea9dbec5
related, web
-
github.com
/ash-project/ash_postgres/commit/8c25c945c39a45299193fe70b09fc2fa2aacac7b
patch
-
github.com
/ash-project/ash/security/advisories/GHSA-gr2r-f49c-9gm2
vendor-advisory, related, advisory
-
cna.erlef.org
/cves/CVE-2026-115627.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-115627
related
-
hex.pm
/packages/ash_postgres
package
Sources
- CVE List CVE-2026-115627
- NVD CVE-2026-115627
- OSV EEF-CVE-2026-115627
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.