🇰🇷 한글 설명
PraisonAI Platform 0.1.4 미만 버전에서 워크스페이스 범위의 REST 경로에 시스템적인 객체 수준 권한 부여 결함이 존재합니다. 인증된 사용자가 피해 대상의 글로벌 UUID를 제공함으로써 다른 워크스페이스에 속한 에이전트, 프로젝트, 이슈 등의 객체에 접근, 수정 또는 삭제할 수 있습니다. 이는 서비스 레이어에서 객체의 실제 소유 워크스페이스를 검증하지 않아 발생하는 워크스페이스 격리 경계 위반 문제입니다.
💡 쉬운 설명
로그인한 사용자가 자신의 권한을 이용해 다른 사용자의 개인 공간에 있는 데이터(프로젝트, 메모 등)를 마음대로 보고 고치거나 지울 수 있는 보안 결함입니다. 공격자가 다른 사람의 데이터 고유 번호만 알면 남의 방에 몰래 들어가서 물건을 건드리는 것과 같습니다.
🇺🇸 원문 (English)
PraisonAI Platform is the platform layer for the PraisonAI multi-agent teams system. Prior to version 0.1.4, the workspace-scoped REST routes contain a systemic object-level authorization flaw that allows an authenticated user from one workspace to access, modify, and delete objects belonging to another workspace by supplying the victim object's global UUID. The affected pattern appears in workspace-scoped routes such as agents, projects, issues, and comments. The route layer verifies that the caller is a member of the `workspace_id` provided in the URL, but the service layer later resolves the target object by global object ID only. It does not verify that the resolved object actually belongs to the workspace in the URL. As a result, a valid member of `workspace_attacker` can call a route under `/api/v1/workspaces/{workspace_attacker}/...` while supplying an object UUID from `workspace_victim`. The server authorizes the request based on membership in `workspace_attacker`, then fetches or mutates the victim object by global UUID. This breaks the platform's workspace isolation boundary. PraisonAI Platform version 0.1.4 patches the issue.
📍 영향받는 시스템
PraisonAI Platform version 0.1.4 미만
⚔️ 공격 벡터
인증된 사용자가 자신의 워크스페이스 경로를 사용하면서 요청 본문이나 파라미터에 피해 대상의 글로벌 UUID를 포함하여 전송
🛡️ 대응 방법
PraisonAI Platform을 최신 보안 패치가 적용된 버전 0.1.4 이상으로 업데이트
🔧 검증 코드
출력된 Version 값이 0.1.4 미만이면 취약한 상태이며, 0.1.4 이상이면 안전합니다.
pip show praisonai-platform 2>/dev/null | grep -E 'Version'