← Back to CVE List
Vulnerability Intelligence Report
AshPostgres returns another tenant's record for a skipped upsert when return_skipped_upsert? is set

CVE-2026-115635

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.

No Active Exploit Signals
CVSS Base Score
6.0
MEDIUM
EPSS Probability:0.25%
Executive Threat Verdict
Evaluating...
Evaluating Threat Landscape...
Assessing known weaponization, exploitation telemetry, and federal advisories.
Attack Surface
—
Authentication
—
Weaponization
—
SSVC Action
—

Weaknesses (CWE)

CWE-863 ↗CWE-863 Incorrect Authorization

Affected Products & Versions

Vendor Product Affected Versions
ash-project ash_postgres 2.6.22 < 2.15.2 (affected)
ash-project ash_postgres af0903f1380468bbe1b61fe65acb33772b5e24a5 < 8aa81220c401cae412d21078d11b3519ea25d3a9 (affected)

References & Technical Advisories

No reference links found.

Threat Intelligence Signals

EPSS Score
0.246%

Identity & Timeline

StatusPUBLISHED
Assigning AuthorityErlang Ecosystem Foundation · Consortium · USA
Reserved2026-10-23T13:00:02
Published2026-10-25T19:48:43
Last Updated2026-10-26T14:35:21

LINK COPIED TO CLIPBOARD