🔍 CVE-2026-47733

4.4
CVSS Score
MEDIUM
2026-06-24
2026-10-25 22:10
✅ 완료

🇰🇷 한글 설명

Rocket.Chat의 gazzodown 패키지 내 ImageElement 컴포넌트가 사용자 입력 src 값을 프로토콜 검증 없이 <a href>와 <img src> 속성에 그대로 렌더링합니다. 이로 인해 인증된 사용자가 javascript: URL이 포함된 마크다운 이미지를 게시할 수 있으며, 구형 브라우저에서 클릭 시 열람자 세션에서 임의의 스크립트가 실행될 수 있습니다. 8.5.0 버전에서 수정되었습니다.

💡 쉬운 설명

채팅 메시지 속 이미지 링크에 악성 스크립트를 숨겨 두면, 이를 클릭한 다른 사용자의 계정에서 그 스크립트가 실행될 수 있습니다. 이 문제는 Rocket.Chat 8.5.0 이전 버전에 존재하며 해당 버전에서 수정되었습니다.

🇺🇸 원문 (English)

Rocket.Chat is an open-source, secure, fully customizable communications platform. Prior to 8.5.0, the ImageElement component in packages/gazzodown renders user-controlled src values directly into <a href> and <img src> attributes without protocol sanitization. Unlike the analogous LinkSpan component — which uses sanitizeUrl to block javascript:, data:, and vbscript: protocols — ImageElement passes the raw URL through unchanged. An authenticated user can post a markdown image with a javascript: URL that, if clicked on an older browser, would execute arbitrary JavaScript in the viewer's session. This vulnerability is fixed in 8.5.0.

📍 영향받는 시스템

Rocket.Chat 8.5.0 미만 버전 (gazzodown 패키지 사용 환경)

⚔️ 공격 벡터

인증된 사용자가 javascript: 프로토콜이 포함된 마크다운 이미지/링크를 게시하고, 피해자가 구형 브라우저에서 이를 클릭하면 스크립트가 실행됩니다.

🛡️ 대응 방법

Rocket.Chat을 8.5.0 이상으로 업데이트하고, 구형 브라우저 사용을 제한하며, 필요 시 임시로 마크다운 이미지 렌더링을 비활성화합니다.

🔧 검증 코드

출력된 version 값이 8.5.0 미만이면 취약, 8.5.0 이상이면 패치 완료입니다. 명령이 실패하면 설치 경로를 직접 확인해야 합니다.

Shell / Script
docker exec rocketchat cat /app/bundle/programs/server/npm/node_modules/@rocket.chat/gazzodown/package.json 2>/dev/null | grep '"version"' || npm ls @rocket.chat/gazzodown 2>/dev/null

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:L/I:L/A:N

💻 영향받는 소프트웨어

Oracle Java SE