🇰🇷 한글 설명
Tina CMS의 이전 버전에서 발생한 보안 취약점으로, 교차 출처 postMessage 핸들러와 리치 텍스트 URL 검증 우회를 통해 저장형 XSS 및 세션 탈취가 가능합니다. 공격자는 출처 검증이 없는 메시지 리스너를 악용하여 관리자 세션을 제어하거나 악성 스크립트를 실행할 수 있습니다.
💡 쉬운 설명
웹사이트 관리 도구인 Tina CMS에서 보안 검사가 미흡하여 발생하는 문제입니다. 해커가 가짜 메시지를 보내 관리자의 권한을 뺏거나 악성 코드를 심을 수 있습니다.
🇺🇸 원문 (English)
Tina is a headless content management system. In versions prior to @tinacms/app 2.5.6 and tinacms 3.9.3, cross-origin postMessage handlers and a rich-text URL-sanitization bypass enable stored XSS and session takeover. The library registers window message listeners — the useTina overlay handler, the OAuth authentication popup handler, and the admin↔preview iframe GraphQL reducer — that act on event.data without verifying event.origin or event.source and post messages using non-specific target origins, while insufficient URL sanitization in rich-text content allows malicious URLs to persist and execute. A page the victim visits (or a window in an opener/iframe relationship with a Tina admin) can forge messages to drive the editor, inject preview content, or observe/forge the OAuth popup channel to take over an authenticated editing session. This issue has been fixed in versions @tinacms/app 2.5.6 and tinacms 3.9.3.
📍 영향받는 시스템
@tinacms/app 2.5.6 미만 버전 및 tinacms 3.9.3 미만 버전
⚔️ 공격 벡터
출처 검증이 없는 postMessage 핸들러와 취약한 URL 필터링을 이용한 메시지 위조 및 XSS 공격
🛡️ 대응 방법
@tinacms/app 2.5.6 또는 tinacms 3.9.3 이상 버전으로 업데이트
🔧 검증 코드
출력된 결과에서 설치된 패키지의 버전이 취약 버전(2.5.6 미만 또는 3.9.3 미만)인지 확인합니다.
npm list @tinacms/app tinacms | grep -E '@tinacms/app|tinacms'