🇰🇷 한글 설명
PeerTube는 ActivityPub 기반의 연합형 동영상 스트리밍 플랫폼입니다. 8.2.2 이전 버전에서는 서버 측 렌더링되는 동영상 시청 페이지가 schema.org JSON-LD 블록을 생성할 때 메타데이터를 이스케이프 없이 JSON.stringify로 삽입하여, 공격자가 스크립트 종료 시퀀스를 포함한 값을 넣으면 임의의 HTML이나 JavaScript가 인스턴스 출처에서 실행될 수 있습니다. 이 문제는 8.2.2 버전에서 수정되었습니다.
💡 쉬운 설명
PeerTube 동영상 페이지의 숨겨진 메타데이터에 악성 코드를 심을 수 있는 취약점입니다. 이 동영상을 열어본 사용자의 브라우저에서 공격자의 스크립트가 실행될 수 있습니다.
🇺🇸 원문 (English)
PeerTube is an ActivityPub-federated video streaming platform. Prior to 8.2.2, server-side-rendered video watch pages embed a schema.org JSON-LD block by JSON.stringify-ing video metadata without escaping less-than, greater-than, or slash characters, allowing a value containing the byte sequence that closes a script element to inject arbitrary HTML or JavaScript that executes in the instance origin for visitors to the attacker's videos. This issue is fixed in version 8.2.2.
📍 영향받는 시스템
PeerTube 8.2.2 미만 버전을 사용하는 모든 인스턴스
⚔️ 공격 벡터
공격자가 동영상 메타데이터에 스크립트 종료 태그를 포함한 값을 입력해 피해자가 해당 시청 페이지를 방문하면 악성 스크립트가 실행됨
🛡️ 대응 방법
PeerTube를 8.2.2 이상 버전으로 업그레이드
🔧 검증 코드
출력된 버전이 8.2.2 미만이면 취약하며, 8.2.2 이상이면 패치된 상태입니다. 명령어 결과가 없으면 설치 경로를 확인하세요.
grep -m1 '"version"' /var/www/peertube/package.json 2>/dev/null || (cd /var/www/peertube && node -p "require('./package.json').version" 2>/dev/null)