🇰🇷 한글 설명
PraisonAI 4.5.128 미만 버전의 Flask API 엔드포인트에서 에이전트 출력을 HTML로 렌더링할 때 적절한 살균(sanitization) 처리가 이루어지지 않습니다. HTML 살균을 담당하는 nh3 라이브러리가 의존성에 누락되어 있어, 라이브러리가 없는 기본 설치 상태에서는 입력된 HTML이 그대로 반환됩니다. 이로 인해 공격자가 조작된 입력을 통해 임의의 자바스크립트를 실행할 수 있는 XSS 취약점이 발생합니다.
💡 쉬운 설명
AI 에이전트가 내뱉는 결과물에 악성 코드를 섞어 넣으면, 이를 보는 사용자의 브라우저에서 해킹 코드가 실행될 수 있는 문제입니다. 보안 필터 역할을 하는 도구가 제대로 설치되지 않아 발생하는 결함입니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. Prior to 4.5.128, the Flask API endpoint in src/praisonai/api.py renders agent output as HTML without effective sanitization. The _sanitize_html function relies on the nh3 library, which is not listed as a required or optional dependency in pyproject.toml. When nh3 is absent (the default installation), the sanitizer is a no-op that returns HTML unchanged. An attacker who can influence agent input (via RAG data poisoning, web scraping results, or prompt injection) can inject arbitrary JavaScript that executes in the browser of anyone viewing the API output. This vulnerability is fixed in 4.5.128.
📍 영향받는 시스템
PraisonAI 4.5.128 미만 버전
⚔️ 공격 벡터
RAG 데이터 오염, 웹 스크래핑 결과 조작 또는 프롬프트 인젝션을 통한 악성 스크립트 주입
🛡️ 대응 방법
PraisonAI를 4.5.128 버전 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 4.5.128보다 낮으면 취약한 상태입니다.
pip show praisonai | grep Version