🇰🇷 한글 설명
PraisonAI의 get_all_user_threads 함수가 데이터베이스에서 가져온 스레드 ID를 검증 없이 f-string을 사용하여 SQL 쿼리를 생성합니다. 공격자가 update_thread를 통해 악성 스레드 ID를 저장하면, 스레드 목록을 불러올 때 주입된 페이로드가 실행되어 데이터베이스 전체 권한을 탈취할 수 있습니다.
💡 쉬운 설명
사용자가 입력한 데이터가 데이터베이스 명령어로 잘못 해석되어 발생하는 보안 취약점입니다. 해커가 특수하게 조작된 데이터를 입력하면 데이터베이스의 모든 정보를 몰래 빼가거나 조작할 수 있습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. Prior to version 4.5.90, the get_all_user_threads function constructs raw SQL queries using f-strings with unescaped thread IDs fetched from the database. An attacker stores a malicious thread ID via update_thread. When the application loads the thread list, the injected payload executes and grants full database access. This issue has been patched in version 4.5.90.
📍 영향받는 시스템
PraisonAI 4.5.90 미만 버전
⚔️ 공격 벡터
update_thread 함수를 통해 악성 SQL 구문이 포함된 스레드 ID를 삽입하여 실행
🛡️ 대응 방법
PraisonAI를 최신 패치 버전인 4.5.90 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전 번호가 4.5.90보다 낮으면 취약한 상태입니다.
pip show praisonai | grep Version