Am I affected?

type your ash_ai version to check

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.

Weaknesses & attack patterns

Weakness

CWE-94 · Improper Control of Generation of Code ('Code Injection') in catalog → MITRE ↗

Attack patterns

CAPEC-242 · Code Injection MITRE ↗

Affected — Hex / ash_ai Hex.pm ↗ Repository ↗

0.1.0 < 1.0.0 affected
every other version: unaffected
cpe cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.AshAi.Actions.Prompt'
source files lib/ash_ai/actions/prompt.ex
routines 'Elixir.AshAi.Actions.Prompt':build_context/3

Affected — GitHub / ash-project/ash_ai Repository ↗

4aab131 < e994825 affected
every other version: unaffected
cpe cpe:2.3:a:ash-project:ash_ai:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.AshAi.Actions.Prompt'
source files lib/ash_ai/actions/prompt.ex
routines 'Elixir.AshAi.Actions.Prompt':build_context/3

References

Credits

Peter Ullrich Finder Reporter
Zach Daniel / Ash Project Remediation developer
Jonatan Männchen / EEF Coordinator

CVSS breakdown

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
« All CVEs