🇰🇷 한글 설명
Payload CMS의 @payloadcms/plugin-multi-tenant 플러그인에서 발생하는 취약점입니다. 특정 버전에서 권한이 제한된 인증된 사용자가 자신이 속하지 않은 다른 테넌트의 레코드를 생성할 수 있습니다. 다만, 기존 문서의 읽기나 직접적인 수정은 불가능합니다.
💡 쉬운 설명
한 회사(테넌트)의 직원으로 로그인했는데, 권한이 없는 다른 회사의 데이터를 새로 만들어낼 수 있는 보안 허점입니다. 기존 데이터를 훔쳐보거나 고칠 수는 없지만, 허가되지 않은 데이터를 시스템에 끼워 넣을 수 있습니다.
🇺🇸 원문 (English)
Payload is a free and open source headless content management system. In @payloadcms/plugin-multi-tenant versions before 3.90.0 and canary versions before 4.0.0-canary.34, an authenticated user limited to one tenant can create a record in another tenant when at least one tenant-enabled collection exists. Reads and direct edits of existing documents in the target tenant are not bypassed. This issue is fixed in versions 3.90.0 and 4.0.0-canary.34.
📍 영향받는 시스템
@payloadcms/plugin-multi-tenant < 3.90.0 및 4.0.0-canary.34 미만 버전
⚔️ 공격 벡터
인증된 사용자가 테넌트 격리를 우회하여 다른 테넌트의 컬렉션에 레코드 생성 요청을 보냄
🛡️ 대응 방법
@payloadcms/plugin-multi-tenant 버전을 3.90.0 또는 4.0.0-canary.34 이상으로 업데이트
🔧 검증 코드
출력된 버전이 3.90.0 또는 4.0.0-canary.34보다 낮은지 확인
npm list @payloadcms/plugin-multi-tenant