CVE-2026-77956
nicheUnauthenticated Code Injection in ash-project ash_ai prompt actions
CVE-2026-77956 is a code injection flaw (CWE-94) in the ash_ai package for the Ash Framework in which prompt action content is evaluated through EEx.eval_string/2, compiling attacker-supplied text as Elixir source. When a prompt action's text is built from action arguments or other request data, an unauthenticated client who can reach that prompt action can embed code (e.g., inline EEx/Elixir expressions) that executes on the server before any model request is even made. Successful exploitation yields arbitrary code execution on the host running the application, with high impact on confidentiality, integrity, and availability. All ash_ai releases from 0.1.0 through versions before 1.0.0 are affected. No public proof-of-concept is known, it is not in CISA KEV, and EPSS estimates only a 0.2% probability of exploitation within 30 days, so no in-the-wild exploitation is currently reported.
What to do: Upgrade ash_ai to 1.0.0 or later, where function-supplied prompt content is no longer evaluated as EEx and only statically configured templates are evaluated. As an interim mitigation, audit prompt actions for text built from action arguments or other untrusted request data and remove or sanitize attacker-controllable content in those prompts. If no upgrade path exists, restrict access to affected prompt actions (e.g., require authentication or network-level controls) since exploitation requires only reachability, not credentials.
| ash-project ash_ai | from 0.1.0 before 1.0.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
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 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.
- Weakness
- CWE-94
- Vector
- CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.