# CVE-2026-115635: ash-project ash_postgres incorrect authorization in upsert

Source: https://junglewise.ai/threats/cve-2026-115635-incorrect-authorization-vulnerability-in-ash-project-ash  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-25. Updated: 2026-10-25  
License: CC BY 4.0 with a link back

CVE-2026-115635 · Severity: info · Published 2026-10-25

ash_postgres is an Elixir library that provides database access for the Ash framework. A flaw in the upsert operation with return_skipped_upsert enabled allows an authenticated user to read records belonging to another tenant by exploiting missing multitenancy checks, potentially exposing sensitive data across tenant boundaries.

Technologies: [Ash-Project Ash Postgres](https://junglewise.ai/threats/technologies/ash-postgres). Vendors: [Ash-Project](https://junglewise.ai/threats/vendors/ash-project).

## Quick answers

**Is CVE-2026-115635 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-115635 being exploited in the wild.

**How severe is CVE-2026-115635?** Informational severity, published 25 October 2026.

**Which products and versions are affected?** Ash-Project Ash Postgres 2.6.22 to before 2.15.2.

**Is there a fix for CVE-2026-115635?** Yes: fixed in ash_postgres 2.15.2. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-115635 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-115635?** Check whether you run Ash-Project Ash Postgres at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in ash_postgres 2.15.2

## Technical details

An incorrect authorization vulnerability exists in ash_postgres's do_bulk_create and upsert functions when return_skipped_upsert?: true is set and the upsert is skipped. The existing row lookup by upsert identity fails to apply the resource's attribute-based multitenancy filter, allowing a user to retrieve and read records from another tenant with matching identity values. This is a multitenancy isolation bypass affecting resources using strategy :attribute.

## Affected products

- ash-project ash_postgres 2.6.22 to before 2.15.2

## Timeline

- 2026-10-25: disclosed

## References

- [https://repo.hex.pm/](https://repo.hex.pm/)
- [https://github.com/](https://github.com/)

## Related threats

- [ash-project ash_postgres incorrect authorization in many-to-many relationships](https://junglewise.ai/threats/cve-2026-115627-incorrect-authorization-vulnerability-in-ash-project-ash)
- [ash-project ash_postgres tenant rename data exposure](https://junglewise.ai/threats/cve-2026-78699-ash-project-ash-postgres-tenant-rename-data-exposure)
