🇰🇷 한글 설명
Coop은 ROOST에서 개발한 오픈소스 리뷰 및 모더레이션 도구입니다. 1.0.0 이전 버전에서는 GraphQL Mutation.createOrg 작업이 인증되지 않은 사용자에게도 공개 인스턴스에서 임의의 조직 생성을 허용합니다. 또한 속도 제한이 없어 데이터베이스 고갈로 이어질 수 있습니다.
💡 쉬운 설명
인증 없이도 누구나 이 도구에 가짜 조직을 무한히 만들 수 있는 문제입니다. 서비스가 로그를 어지럽히고 데이터베이스가 과부하로 멈출 수 있습니다.
🇺🇸 원문 (English)
Coop is an open source review and moderation tool from ROOST. Prior to 1.0.0, the `GraphQL` `Mutation.createOrg` operation allows an unauthenticated actor to create arbitrary organizations on a publicly accessible instance. In addition to creating noise in the logs, the lack of rate limiting could potentially lead to database exhaustion. Running the service on an authenticated private network prevents outside actors from directly querying the `GraphQL` API. This issue is fixed in version 1.0.0.
📍 영향받는 시스템
ROOST Coop 1.0.0 이전 버전 (공개 접근 가능한 인스턴스)
⚔️ 공격 벡터
인증 없이 공개된 GraphQL 엔드포인트에 createOrg 뮤테이션을 대량 전송하여 조직을 무분별하게 생성
🛡️ 대응 방법
Coop을 1.0.0 이상으로 업그레이드하고, 가능하면 GraphQL API를 인증된 사설 네트워크에서만 접근하도록 제한
🔧 검증 코드
출력된 Coop 이미지 태그 또는 package.json의 version 값이 1.0.0 미만이면 취약하며, 1.0.0 이상이면 수정된 버전입니다.
docker images 2>/dev/null | grep -i coop; grep -ri '"version"' package.json 2>/dev/null | head -1