Back to CVE records
Medium 6.0Published Oct 25, 2026

CVE-2026-115635AshPostgres returns another tenant's record for a skipped upsert when return_skipped_upsert? is set

Updated under an hour ago ()

Does this affect you?

It affects ash-project ash_postgres. Add what you run to find out whether that includes you.

No exploitation reported and no EPSS estimate yet.

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.

CVSS
6.0 MEDIUM (v4.0, CNA)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
Weakness (CWE)
CWE-863
Known exploited
Not in CISA's KEV catalog
EPSS (exploitation in the next 30 days)
Not loaded for this CVE
Assigned by
EEF
NVD analysis
Deferred
Record last updated
Oct 26, 2026
First seen by InfoSec Signals
Oct 25, 2026

Affected products

Affected products
ash-project ash_postgres
ash-project:ash_postgres
from 2.6.22 before 2.15.2
CNA record

References

References

The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.

Your cookie choices
We use essential cookies to run this site, and, only with your consent, an advertising cookie from Google to measure whether our ads lead to sign-ups and subscriptions. See our for details.