🇰🇷 한글 설명
Fathom Lite 1.3.1 이하 버전의 분석 수집 엔드포인트에 저장형 XSS 취약점이 존재합니다. 인증되지 않은 공격자가 /collect 엔드포인트에 조작된 호스트명과 경로를 전송하면 javascript: URI가 대시보드 Top Pages에 저장되어, 운영자가 해당 항목을 클릭할 때 세션 탈취가 가능합니다.
💡 쉬운 설명
인증 없이도 분석 데이터를 전송할 수 있는 입력란이 악성 링크를 저장할 수 있습니다. 관리자가 대시보드에서 그 링크를 클릭하면 관리자 계정이 탈취될 수 있습니다.
🇺🇸 원문 (English)
Fathom Lite through 1.3.1 contains a stored cross-site scripting vulnerability in the analytics collection endpoint that allows unauthenticated attackers to inject a javascript: URI into the Top Pages dashboard by supplying a crafted hostname and pathname to the unauthenticated /collect endpoint. The parseHostname and parsePathname functions perform no URI scheme validation, allowing a javascript: hostname combined with a newline-prefixed pathname to be stored and later rendered as an anchor href in the authenticated dashboard without sanitization, enabling session hijacking and full account takeover when an operator clicks the poisoned entry.
📍 영향받는 시스템
Fathom Lite 1.3.1 이하 버전
⚔️ 공격 벡터
인증되지 않은 공격자가 /collect 엔드포인트에 javascript: 스킴이 포함된 조작된 hostname과 개행이 앞에 붙은 pathname을 전송하여 저장형 XSS를 유발
🛡️ 대응 방법
Fathom Lite를 패치된 최신 버전으로 업데이트하고, 업데이트 전까지 /collect 엔드포인트 접근을 제한하며 대시보드 링크 출력을 이스케이프 처리
🔧 검증 코드
출력된 version 값이 1.3.1 이하이면 취약한 버전이므로 즉시 업데이트가 필요하며, 출력이 없으면 설치 경로를 직접 확인해야 합니다.
grep -rE "version" $(find / -path '*fathom*' -name 'package.json' 2>/dev/null | head -1) 2>/dev/null