CVE-2026-82367: CWE-488 Exposure of Data Element to Wrong Session in ash-project ash_graphql
Description
Exposure of Data Element to Wrong Session vulnerability in ash-project ash_graphql can deliver one subscription's resolved records to a different subscriber's topic. AshGraphql.Subscription.Batcher.do_send/5 reads the resolved batch from the process dictionary via Process.get(:batch_resolved) and then unconditionally deletes it. That is sound only inside a task the library owns. On the :backpressure_sync and :noproc fallbacks do_send/5 runs inline in the publishing caller's process, so if a resolver inside an outer do_send/5 triggers another synchronous Ash notification, the inner call finds the outer run's value still under :batch_resolved, adopts it as its own result, and publishes it to the inner topic, a different subscription document with a different actor and tenant. It then deletes the key, so the outer run publishes nothing. The key is not namespaced by run, so records cannot be told apart. The fix saves, clears, and restores :batch_resolved around each run. This issue affects ash_graphql: from 1.4.0 before 1.11.0.
CVSS v4.0
Score 2.3low
Affected software
ash-project
ash_graphql
ash-project
ash_graphql
cpe:2.3:a:ash-project:ash_graphql:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises because AshGraphql.Subscription.Batcher.do_send/5 reads and deletes the resolved batch from the process dictionary under the key :batch_resolved without namespacing it by run. When do_send/5 runs inline in the publishing caller's process (in :backpressure_sync and :noproc fallbacks), a nested synchronous Ash notification can cause the inner call to reuse the outer call's :batch_resolved data. This results in records being published to the wrong subscription topic, mixing data between different actors and tenants. The fix involves saving, clearing, and restoring the :batch_resolved key around each run to isolate data per invocation.
Potential Impact
The impact is limited to exposure of subscription data elements to incorrect sessions, potentially leaking data between different subscribers with different actors and tenants. The CVSS score is low (2.3) reflecting the network attack vector with high complexity and partial attacker privileges required. There is no indication of privilege escalation, denial of service, or remote code execution. No known exploits in the wild have been reported.
Mitigation Recommendations
Patch status is not yet confirmed — no official fix or patch links are provided. Users should monitor the vendor advisory for updates and apply any forthcoming patches that implement the described fix of namespacing and restoring the :batch_resolved key per run. Until then, consider minimizing synchronous nested notifications or fallback modes that run do_send/5 inline if feasible.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-08-30T17:15:01.277Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a9478a8acd9273b49e0bf5a
Added to database: 08/30/2026, 18:38:32 UTC
Last enriched: 09/07/2026, 14:46:05 UTC
Last updated: 10/14/2026, 06:48:21 UTC
Views: 93
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.