🇰🇷 한글 설명
Zammad의 HTML Sanitizer가 srcset 속성에 포함된 외부 URL을 제대로 차단하지 못하는 취약점입니다. 공격자가 이메일을 통해 악성 srcset 속성을 포함시키면, 상담원이 티켓을 확인하는 순간 공격자의 서버로 IP 주소, User-Agent, Referer 등의 정보가 유출될 수 있습니다.
💡 쉬운 설명
이메일에 숨겨진 특수한 코드를 통해 상담원의 접속 정보가 몰래 유출될 수 있는 보안 허점입니다. 상담원이 메일을 읽기만 해도 공격자가 상담원의 위치나 사용 중인 브라우저 정보를 알 수 있게 됩니다.
🇺🇸 원문 (English)
Zammad is a web based open source helpdesk/customer support system. Prior to 7.0.2 and 7.1.0, zammad's HTML sanitizer (HtmlSanitizer::Strict) blocks external URLs in to prevent remote content loading, but the srcset attribute, also allowlisted for , is not subject to the same check. This oversight allows an attacker to embed arbitrary external URLs in the srcset attribute just by sending an e-mail, effectively bypassing the external content protection. When an agent views the ticket containing the malicious srcset, the browser will silently load the attacker-controlled URL, resulting in the leakage of the agent's IP address, User-Agent, Referer, and the exact time the ticket was viewed. HtmlSanitizer::Strict got extended to block external URLs in the srcset attribute of tags. This was done to prevent tracking pixels and external content loading, which could compromise user privacy. This issue is fixed in versions 7.0.2 and 7.1.0.
📍 영향받는 시스템
Zammad 7.0.2 및 7.1.0 미만 버전
⚔️ 공격 벡터
악성 srcset 속성이 포함된 이메일을 발송하여 상담원이 티켓을 열람하도록 유도
🛡️ 대응 방법
Zammad를 최신 보안 패치가 적용된 7.0.2 또는 7.1.0 이상의 버전으로 업데이트
🔧 검증 코드
출력된 버전이 7.0.2 또는 7.1.0보다 낮은지 확인하여 취약 여부를 판단합니다.
zammad --version 2>/dev/null || dpkg -l | grep zammad