무슨 일이 있었나
버전 2.9.0 이전의 Twenty (오픈소스 CRM)는 AI 에이전트 모니터의 AgentTurnResolver에서 안전하지 않은 직접 객체 참조 (IDOR) 취약점을 포함했습니다. agentTurns(agentId) 쿼리와 evaluateAgentTurn(turnId) 뮤테이션은 WHERE 절에서 workspaceId를 강제하지 않고 agentId 또는 turnId만으로 행을 조회했습니다. 클래스 수준의 가드는 호출자가 *어떤* 워크스페이스에 인증되었는지만 확인했으며, 반드시 요청된 객체를 소유한 워크스페이스에 인증되었는지는 확인하지 않았습니다. 피해자의 agentId 또는 turnId를 알고 있거나 URL에서 추측할 수 있는 모든 인증된 워크스페이스 소유자는 피해자의 전체 AI 채팅 기록(메시지 부분, 도구 호출 및 도구 출력 포함)을 읽을 수 있었으며, 피해자의 턴을 기본 LLM에 대해 재평가하도록 트리거할 수 있었습니다.
왜 중요한가
AI 에이전트 배포는 일반적으로 민감한 엔터프라이즈 데이터(내부 쿼리, 도구 호출 매개변수, API 응답)를 처리합니다. 이 결함으로 인해 동일한 Twenty 인스턴스의 모든 인증된 사용자가 다른 워크스페이스의 전체 AI 상호작용 기록(자격 증명 또는 기밀 비즈니스 데이터를 포함할 수 있는 도구 호출 세부 정보 포함)에 자동으로 액세스할 수 있었습니다. turnId와 agentId는 설정 페이지 URL에 노출되어 있어 열거가 간단합니다.
공격 경로
모든 워크스페이스의 인증된 공격자가 설정 페이지 URL에서 얻은 피해자 워크스페이스의 agentId 또는 turnId를 사용하여 agentTurns 또는 evaluateAgentTurn GraphQL 쿼리를 전송합니다.
영향받는 시스템
버전 2.9.0 이전의 Twenty CRM (오픈소스)
완화 방안
Twenty CRM v2.9.0으로 업그레이드하십시오. 공지: https://www.tenable.com/cve/CVE-2026-55583