🇰🇷 한글 설명
Zammad 7.1.2 이전 버전에서 새로운 Vue 기반 티켓 인터페이스가 티켓 본문을 출력 인코딩 없이 렌더링합니다. 인증된 사용자가 게시물에 악성 마크업을 저장하면 다른 사용자가 티켓을 볼 때 실행되어 저장형 XSS가 발생할 수 있습니다. 기본 CSP 설정으로 실제 영향은 제한적이며, 기존 REST/CoffeeScript 인터페이스는 영향을 받지 않습니다. 7.1.2 버전에서 수정되었습니다.
💡 쉬운 설명
고객지원 시스템인 Zammad의 티켓 화면에서 악성 코드가 저장되어 다른 직원이 볼 때 실행될 수 있는 문제입니다. 기본 보안 정책 덕분에 실제 피해 가능성은 제한적입니다.
🇺🇸 원문 (English)
Zammad is a web based open source helpdesk/customer support system. Prior to 7.1.2, the new Vue-based ticket interface can render ticket article content without the expected output encoding. An authenticated user can store markup in an article that is interpreted when another user views the ticket, enabling stored cross-site scripting. The default Content Security Policy limits practical impact, and the classic REST/CoffeeScript interface is not affected. This issue is fixed in version 7.1.2.
📍 영향받는 시스템
Zammad 7.1.2 미만 버전 (Vue 기반 티켓 인터페이스 사용 시)
⚔️ 공격 벡터
인증된 사용자가 티켓 게시물에 악성 스크립트를 삽입하고, 다른 사용자가 해당 티켓을 열람할 때 스크립트가 실행됨
🛡️ 대응 방법
Zammad를 7.1.2 이상 버전으로 업데이트
🔧 검증 코드
출력된 버전이 7.1.2 미만이면 취약하며, 7.1.2 이상이면 패치가 적용된 것입니다. 아무 결과도 없으면 설치 경로를 확인해야 합니다.
cat /opt/zammad/VERSION 2>/dev/null || (cd /opt/zammad && grep -m1 '"version"' package.json 2>/dev/null)