🇰🇷 한글 설명
Taubyte Tau v1.1.10의 services/auth HTTP 서비스에서 권한 검증이 누락된 취약점이 발견되었습니다. 인증된 사용자가 임의의 프로젝트 ID를 사용하여 다른 테넌트의 프로젝트를 조회하거나 영구적으로 삭제할 수 있습니다. GitHubTokenHTTPAuth 미들웨어가 토큰의 유효성만 확인하고 대상 프로젝트에 대한 소유권이나 접근 권한을 검증하지 않아 발생합니다.
💡 쉬운 설명
로그인한 사용자라면 누구나 다른 사람의 프로젝트를 몰래 보거나 삭제할 수 있는 보안 결함입니다. 시스템이 사용자가 해당 프로젝트의 주인인지 확인하지 않고 단순히 로그인 여부만 체크하기 때문에 발생합니다.
🇺🇸 원문 (English)
Taubyte Tau v1.1.10 contains a missing authorization vulnerability in the services/auth HTTP service that allows any authenticated user to read or permanently delete another tenant's project by supplying an arbitrary project ID to the GET and DELETE /projects/{id} endpoints. The GitHubTokenHTTPAuth middleware only validates that a caller presents a valid GitHub OAuth token without verifying ownership or access rights to the target project, enabling attackers with any valid GitHub token to invoke bare KV-store operations such as projects.Fetch and project.Delete against any project ID to achieve cross-tenant project takeover.
📍 영향받는 시스템
Taubyte Tau v1.1.10
⚔️ 공격 벡터
인증된 사용자가 GET 또는 DELETE 요청 시 타인의 프로젝트 ID를 파라미터로 전달하여 공격
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전으로 업데이트하고, 프로젝트 소유권 검증 로직을 적용해야 함
🔧 검증 코드
본인의 권한이 없는 프로젝트 ID로 요청했을 때 200 OK가 반환되면 취약한 상태이며, 403 Forbidden이 반환되면 안전한 상태임
curl -s -I http://<target-ip>/projects/<arbitrary-id> | grep -E 'HTTP/1.1 200|HTTP/1.1 403'