🇰🇷 한글 설명
PraisonAI(pip 패키지 praisonaiagents) 1.6.78 미만 버전에서 AgentFlow._resolve_pydantic_class 함수를 통한 안전하지 않은 동적 모듈 로딩 취약점이 발견되었습니다. 공격자가 워크플로우 파일과 동일한 디렉토리에 악성 tools.py 파일을 배치할 경우, 환경 변수 설정을 무시하고 임의의 파이썬 코드를 실행할 수 있습니다.
💡 쉬운 설명
프로그램이 외부 파일을 불러올 때 보안 검사를 제대로 하지 않아 발생하는 문제입니다. 해커가 조작한 파일을 시스템에 끼워 넣으면 컴퓨터가 해커의 명령을 그대로 실행하게 됩니다.
🇺🇸 원문 (English)
PraisonAI (pip package praisonaiagents) before 1.6.78 contains an unsafe dynamic module loading vulnerability in AgentFlow._resolve_pydantic_class (src/praisonai-agents/praisonaiagents/workflows/workflows.py). When a workflow step uses a string output_pydantic reference, the framework locates and imports a sibling tools.py from the workflow file's directory via importlib exec_module without sandboxing, ignoring the PRAISONAI_ALLOW_*_TOOLS environment variables. An attacker who controls a workflow file and its sibling tools.py can execute arbitrary Python code with the workflow runner's privileges when the workflow is executed via WorkflowManager or after load_yaml.
📍 영향받는 시스템
PraisonAI (pip package praisonaiagents) version < 1.6.78
⚔️ 공격 벡터
조작된 워크플로우 파일과 악성 tools.py 파일을 이용한 임의 코드 실행 (RCE)
🛡️ 대응 방법
PraisonAI 패키지를 1.6.78 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Version이 1.6.78 미만이면 취약한 상태입니다.
pip show praisonaiagents 2>/dev/null | grep -E 'Version'