Description
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai discloses internal error text to chat users.
In AshAi.ToolLoop and AshAi.Tools, an exception raised while executing a tool was serialized verbatim with Exception.message/1 into the tool-result content. That content is appended to the conversation, emitted as a {:tool_result, ...} stream event, and sent back to the model, which typically relays it to the user. No filtering happened first, so anything raised inside a tool callback or lifecycle hook (database constraint messages, adapter errors, query fragments, policy or validation internals) was echoed as-is. A chat user who can steer tool arguments into a raising code path receives the raw internal text. The fix routes raised tool errors through the same safe formatter used for other tool errors.
This issue affects ash_ai: from 0.6.0 before 1.0.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ash-project | ash_ai | 0.6.0 – < 1.0.0 | 1.0.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | ash_ai | >= 0.6.0, < 1.0.0 | 1.0.0 | EEF-CVE-2026-82580 |
References
- https://github.com/ash-project/ash_ai/security/advisories/GHSA-5747-6mpw-6m9c vendor-advisory related
- https://cna.erlef.org/cves/CVE-2026-82580.html related
- https://osv.dev/vulnerability/EEF-CVE-2026-82580 related
- https://github.com/ash-project/ash_ai/commit/c68dfbdb220426dc015b58379e95bde8e9f0995a patch