何が起きたか
Ash FrameworkのLLMツール呼び出し/構造化出力拡張であるash_aiは、ユーザー提供のプロンプトコンテンツをサンドボックス化なしでEEx.eval_string/2を経由して実行可能なElixirコードとして評価し、認証されていないリモートクライアントが任意のコード実行を達成することを許可しました—これはフレームワーク全体のエージェントスタック(プロンプト評価、ツール実行、埋め込み、MCPサーバー)をカバーする調整済みの6-CVE開示の一部であり、すべてv1.0.0で修正されました。
なぜ重要か
これはモデル前RCEです—攻撃者はLLMをだます必要はなく、細工されたプロンプト文字列を送信するだけで、ash_aiに構築されたElixirエージェントアプリに対して簡単に悪用可能です。
攻撃経路
AshAi.Actions.PromptはEEx.eval_string/2を通じてプロンプトコンテンツを評価します。文書化されたprompt: fn input, context -> ... endパターンにより、リモート認証されていないクライアントがモデルリクエストの前に実行可能なElixirコードとして評価される入力を送信でき、任意のコード実行を達成します。
影響を受けるシステム
ash-project ash_ai バージョン >= 0.1.0、< 1.0.0
緩和策
ash_aiをバージョン1.0.0以降にアップグレードしてください。これは安全でないEEx評価パスを削除しています。