CVE-2026-81316

Same-named aggregates with differing filters are conflated in AshSql

State
Published
Severity
2.1 Low
Published
Aug 30, 2026
Updated
Aug 31, 2026
Reserved
Aug 29, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.02.1 LowCVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:NEEF

Weaknesses

Affected Products

ProductVersions
ash_sqlash-project
  • 0.1.0 to before 0.7.1Affected
ash_sqlash-project
  • dd092ed273dec7bd2194352f24a39229fc8ae68b to before 4b95468e5434a3526571414219719c9518be6694Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.