Description
Generation of Error Message Containing Sensitive Information vulnerability in ash-project ash_ai allows a caller of an AshAi tool to read internal error details, including module names and data values, by making a tool call fail.
AshAi.ToToolError gained an implementation for Ash.Error.Unknown.UnknownError that returns the error's error field as is, and AshAi.Tool.Errors.format/1 sends that text to MCP clients (tool calls and resource reads in AshAi.Mcp.Server) and to the model in AshAi.ToolLoop. Ash stores the full Exception.format/2 output of a raised exception, or inspect/1 of a bare {:error, term} return, in that field. A tool result that cannot be JSON-encoded raises a Protocol.UndefinedError whose text includes the inspected value, which can be a whole record with fields the tool never returns. None of these errors were logged. The fix logs them under an error id and returns only that id to the caller.
This issue affects ash_ai: from 1.5.0 before 1.5.1.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ash-project | ash_ai | 1.5.0 – < 1.5.1 | 1.5.1 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | ash_ai | >= 1.5.0, < 1.5.1 | 1.5.1 | EEF-CVE-2026-119613 |
References
- Information disclosure in `AshAi.ToToolError` in AshAi sends raw exception text to tool callers vendor-advisory related
- EEF CNA record for CVE-2026-119613 related
- OSV record EEF-CVE-2026-119613 related
- Introducing commit fbad04e in ash-project/ash_ai related
- Fix commit af79877 in ash-project/ash_ai patch