CVE-2026-81316 Same-named aggregates with differing filters are conflated in AshSql

Low 2.1 Published Updated

Attackers can bypass authorization filters to read aggregate data across tenancy boundaries due to query conflation in AshSql.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-81316?

CVE-2026-81316 is a low-severity missing authorization vulnerability in ash-project ash_sql, published on 30 Aug 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

Incorrect Authorization vulnerability in ash-project ash_sql allows a caller to receive an aggregate value computed over rows a more restrictive filter should have excluded, disclosing counts, sums, or lists across an authorization or tenancy boundary.

AshSql.Aggregate.different_queries?/2 reports two aggregate queries as different only when their filter and their sort both differ. Aggregate queries rarely carry a sort, so two aggregates that share a name but carry entirely different filters compare as identical. The colliding aggregate keeps its name and is treated as already computed, and select_aggregates returns the first-registered variant's value. The same name reaches the builder twice with different filters when actor or tenant context is stamped into each aggregate's query, so a narrowly filtered aggregate can be served the value of a previously registered broad one.

This issue affects ash_sql: from 0.1.0 before 0.7.1.

Weakness: CWE-863

Which versions are affected by CVE-2026-81316?

1 open source package ship an affected version, including ash_sql.

PackageAffectedFixed in
ash_sql HexFrom 0.1.00.7.1

How do I fix CVE-2026-81316?

Upgrade ash_sql to 0.7.1 or later.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is CVE-2026-81316 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-81316 exists.

Sources

Also known as EEF-CVE-2026-81316, GHSA-v7pf-wjxc-7j5m.

Is CVE-2026-81316 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free