🇰🇷 한글 설명
PraisonAI 4.6.10 이상 4.6.59 미만 버전에서 LocalManagedAgent/SandboxedAgent의 컴퓨트 브리징 기능이 read_file, list_files, write_file 호출의 경로 인자를 쉘 명령 문자열로 변환할 때 이스케이프하지 않아, 공격자가 따옴표를 벗어나 임의 쉘 명령을 실행할 수 있습니다. local 컴퓨트에서는 호스트에서, Docker에서는 컨테이너 내부에서 명령이 실행됩니다.
💡 쉬운 설명
AI 에이전트가 파일을 읽고 쓰는 과정에서 파일 경로에 특수 문자를 섞으면 시스템 명령을 몰래 실행시킬 수 있는 취약점입니다. 공격자는 이를 통해 서버나 컨테이너를 장악할 수 있습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. From version 4.6.10 to before version 4.6.59, LocalManagedAgent / SandboxedAgent compute bridging wraps read_file, list_files, and write_file when a compute provider is attached. The bridge converts those file operations into shell command strings using raw path arguments, then sends those strings to shell-backed compute providers. An attacker who can influence a file-tool path argument can break out of the quoted path and execute arbitrary shell commands in the compute environment. With compute="local", commands execute through the local subprocess compute provider on the host. With Docker, commands execute in the container. This issue has been patched in version 4.6.59.
📍 영향받는 시스템
PraisonAI 4.6.10 이상 4.6.59 미만 (compute 제공자가 연결된 LocalManagedAgent/SandboxedAgent)
⚔️ 공격 벡터
파일 도구의 경로 인자에 영향을 줄 수 있는 공격자가 따옴표를 탈출하는 페이로드를 삽입하여 쉘 명령을 실행
🛡️ 대응 방법
PraisonAI를 4.6.59 이상 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 4.6.59 이상이면 패치 완료, 4.6.10 이상 4.6.59 미만이면 취약한 상태이므로 업그레이드 필요
pip show praisonai 2>/dev/null | grep -i '^version'