Description
Improper Control of Generation of Code (Code Injection) vulnerability in ash-project ash_ai allows a remote, unauthenticated client to execute arbitrary Elixir code.
AshAi.Actions.Prompt evaluates prompt content through EEx.eval_string/2. The documented prompt: fn input, context -> ... end form lets the prompt content be built from action arguments, so when a prompt action's text incorporates request data, that attacker-controlled text is compiled and run as an EEx template (Elixir source). Content such as <%= System.cmd(...) %> therefore executes on the server before any model request is made, requiring no authentication beyond reaching a prompt action. The fix stops evaluating function-supplied prompt content as EEx; only statically configured templates are evaluated.
This issue affects ash_ai: from 0.1.0 before 1.0.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| ash-project | ash_ai | 0.1.0 – < 1.0.0 | 1.0.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Hex | ash_ai | >= 0.1.0, < 1.0.0 | 1.0.0 | EEF-CVE-2026-77956 |
References
- https://github.com/ash-project/ash_ai/security/advisories/GHSA-2g59-hg7m-qc83 vendor-advisory related
- https://cna.erlef.org/cves/CVE-2026-77956.html related
- https://osv.dev/vulnerability/EEF-CVE-2026-77956 related
- https://github.com/ash-project/ash_ai/commit/e9948254b5659c1143b73dc2f59f457931e64514 patch