{"id":"EEF-CVE-2026-119613","summary":"AshAi sends unrecognized tool errors verbatim to MCP clients and the model, disclosing internal details","details":"## Summary\n\nGeneration 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.\n\n`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.\n\nThis issue affects ash_ai: from 1.5.0 before 1.5.1.\n\n## Impact\n\nA caller with tool access sends unexpected or malformed tool arguments until a tool fails, then reads the returned error text to learn internal module and function names and the values the code failed on.","aliases":["GHSA-vhmw-fwrr-r6c6","CVE-2026-119613"],"modified":"2026-11-09T13:15:05.401052641Z","published":"2026-11-09T13:03:21.386Z","database_specific":{"cpe_ids":["cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*"],"cwe_ids":["CWE-209"],"capec_ids":["CAPEC-215"]},"references":[{"type":"ADVISORY","url":"https://github.com/ash-project/ash_ai/security/advisories/GHSA-vhmw-fwrr-r6c6"},{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-119613.html"},{"type":"WEB","url":"https://github.com/ash-project/ash_ai/commit/fbad04e9620ef70603f4e67e03f15092f58578f6"},{"type":"FIX","url":"https://github.com/ash-project/ash_ai/commit/af7987769d78ed070c8a9f6e6ee542d91744eae6"},{"type":"PACKAGE","url":"https://hex.pm/packages/ash_ai"}],"affected":[{"package":{"name":"ash_ai","ecosystem":"Hex","purl":"pkg:hex/ash_ai"},"ranges":[{"type":"SEMVER","events":[{"introduced":"1.5.0"},{"fixed":"1.5.1"}]}],"versions":["1.5.0"],"database_specific":{"source":"https://cna.erlef.org/osv/EEF-CVE-2026-119613.json"}},{"ranges":[{"type":"GIT","repo":"https://github.com/ash-project/ash_ai","events":[{"introduced":"fbad04e9620ef70603f4e67e03f15092f58578f6"},{"fixed":"af7987769d78ed070c8a9f6e6ee542d91744eae6"}]}],"versions":["v1.5.0"],"database_specific":{"source":"https://cna.erlef.org/osv/EEF-CVE-2026-119613.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"}],"credits":[{"name":"Sebastian Seilund","type":"FINDER"},{"name":"Sebastian Seilund","type":"REPORTER"},{"name":"Zach Daniel / Ash Project","type":"REMEDIATION_DEVELOPER"},{"name":"Jonatan Männchen / EEF","type":"COORDINATOR"}]}