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.
Analysis and contextual insights are available on OpenCVE Cloud.
No vendor fix or workaround currently provided.
Additional remediation guidance may be available on OpenCVE Cloud.
Tracking
Sign in to view the affected projects.
No advisories yet.
Sun, 25 Oct 2026 20:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | AshPostgres returns another tenant's record for a skipped upsert when return_skipped_upsert? is set | |
| First Time appeared |
Ash-project
Ash-project ash Postgres |
|
| Weaknesses | CWE-863 | |
| CPEs | cpe:2.3:a:ash-project:ash_postgres:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Ash-project
Ash-project ash Postgres |
|
| References |
|
|
| Metrics |
cvssV4_0
|
Status: PUBLISHED
Assigner: EEF
Published:
Updated: 2026-10-25T19:48:43.829Z
Reserved: 2026-10-23T13:00:02.145Z
Link: CVE-2026-115635
No data.
Status : Received
Published: 2026-10-25T20:16:32.293
Modified: 2026-10-25T20:16:32.293
Link: CVE-2026-115635
No data.
OpenCVE Enrichment
No data.