Answer in brief
CVE-2026-70395 records a Unknown severity vulnerability in Predicate injection in manage_relationship belongs_to lookup discloses secret lookup keys in Ash. The current sources do not mark it as known exploited. The current feed maps ash-project/ash (generic), ash-project/ash (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps ash-project/ash (generic), ash-project/ash (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| ash-project/ashgeneric | >=1.52.0-rc.11 <3.31.1 | 3.31.1 |
| ash-project/ashgeneric | >=571c138140e71cea24005189f45d7a63c8d2ed20 <09f42593035bceb0f6153dd7ee45cc49d108300a | 09f42593035bceb0f6153dd7ee45cc49d108300a |
Published upstream
Aug 9, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 9, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 9, 2026
Improper Neutralization of Special Elements in Data Query Logic vulnerability in ash-project ash allows an attacker to forge a relationship to a record they cannot name, and to recover the secret value used to look it up. When manage_relationship is used with on_lookup: :relate on a belongs_to relationship, the client-supplied lookup value is passed to Ash.Query.filter/2 without being cast to the attribute type. A nested map submitted where a scalar is expected is therefore interpreted as a filter predicate rather than a literal, so a lookup for a specific record becomes a query for any record matching a condition. The same path omits Ash.Query.limit(1), leaving Ash.read_one/2 able to distinguish no match from one match from several, which turns comparison predicates into an oracle for the lookup value. Authorization is unaffected; the destination read policy still applies. This issue affects ash: from 1.52.0-rc.11 before 3.31.1.
Quoted source text, attributed separately from HOL analysis.
Answer in brief
CVE-2026-70395 records a Unknown severity vulnerability in Predicate injection in manage_relationship belongs_to lookup discloses secret lookup keys in Ash. The current sources do not mark it as known exploited. The current feed maps ash-project/ash (generic), ash-project/ash (generic). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
A CVSS score is not reported in the current record. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps ash-project/ash (generic), ash-project/ash (generic). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| ash-project/ashgeneric | >=1.52.0-rc.11 <3.31.1 | 3.31.1 |
| ash-project/ashgeneric | >=571c138140e71cea24005189f45d7a63c8d2ed20 <09f42593035bceb0f6153dd7ee45cc49d108300a | 09f42593035bceb0f6153dd7ee45cc49d108300a |
Published upstream
Aug 9, 2026
Evidence: source:cvelist:source_dates:source-dates:recordSource modified
Aug 9, 2026
Evidence: source:cvelist:source_dates:source-dates:recordFirst seen by HOL
Aug 9, 2026
Improper Neutralization of Special Elements in Data Query Logic vulnerability in ash-project ash allows an attacker to forge a relationship to a record they cannot name, and to recover the secret value used to look it up. When manage_relationship is used with on_lookup: :relate on a belongs_to relationship, the client-supplied lookup value is passed to Ash.Query.filter/2 without being cast to the attribute type. A nested map submitted where a scalar is expected is therefore interpreted as a filter predicate rather than a literal, so a lookup for a specific record becomes a query for any record matching a condition. The same path omits Ash.Query.limit(1), leaving Ash.read_one/2 able to distinguish no match from one match from several, which turns comparison predicates into an oracle for the lookup value. Authorization is unaffected; the destination read policy still applies. This issue affects ash: from 1.52.0-rc.11 before 3.31.1.
Quoted source text, attributed separately from HOL analysis.