무슨 일이 있었나
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 평가 경로를 제거합니다.