🇰🇷 한글 설명
PraisonAI의 AgentService.loadAgentFromFile 메서드가 js-yaml 라이브러리를 사용하여 YAML 파일을 파싱할 때 위험한 태그를 비활성화하지 않는 취약점이 발견되었습니다. 공격자가 악성 YAML 파일을 API를 통해 업로드하면 서버에서 임의의 자바스크립트 코드가 실행되는 원격 코드 실행(RCE)이 가능합니다.
💡 쉬운 설명
설정 파일을 읽어오는 과정에서 보안 검사가 부족하여, 해커가 만든 특수한 파일을 올리면 서버를 마음대로 조종할 수 있는 문제입니다. 마치 잘못된 명령어가 담긴 문서를 읽다가 컴퓨터가 해커의 명령을 그대로 수행하게 되는 것과 같습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. Prior to 4.5.115, the AgentService.loadAgentFromFile method uses the js-yaml library to parse YAML files without disabling dangerous tags (such as !!js/function and !!js/undefined). This allows an attacker to craft a malicious YAML file that, when parsed, executes arbitrary JavaScript code. An attacker can exploit this vulnerability by uploading a malicious agent definition file via the API endpoint, leading to remote code execution (RCE) on the server. This vulnerability is fixed in 4.5.115.
📍 영향받는 시스템
PraisonAI 4.5.115 미만 버전
⚔️ 공격 벡터
API 엔드포인트를 통해 악성 자바스크립트 태그(!!js/function 등)가 포함된 YAML 파일을 업로드하여 공격
🛡️ 대응 방법
PraisonAI를 최신 보안 패치가 적용된 4.5.115 버전 이상으로 업데이트
🔧 검증 코드
출력된 버전 번호가 4.5.115보다 낮은지 확인하여 취약 여부를 판단합니다.
pip show praisonai | grep Version