🇰🇷 한글 설명
WWBN AVideo 29.0 이하에서 notifySubscribers.json.php가 사용자 입력 메시지를 HTML 살균화 없이 이메일 템플릿에 직접 삽입합니다. 업로드 권한이 있는 인증 사용자가 최대 10,000명의 채널 구독자에게 악성 HTML(피싱, 추적 픽셀, UI 스푸핑)을 공식 이메일로 위장하여 전송할 수 있습니다.
💡 쉬운 설명
AVideo 플랫폼에서 악성 HTML 코드를 모든 구독자에게 공식 이메일로 보낼 수 있는 보안 문제입니다. 공식 로고와 발신자로 위장되어 피싱 공격에 쉽게 악용될 수 있습니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. In versions up to and including 29.0, objects/notifySubscribers.json.php takes the raw message POST parameter and passes it into sendSiteEmail(), which substitutes it directly into an HTML email template (via str_replace on the {message} placeholder) and renders it with PHPMailer::msgHTML(). There is no HTML sanitization, character escaping, or output encoding on the attacker-controlled message between $_POST['message'] and the rendered email. Any authenticated user with upload permission can therefore broadcast arbitrary HTML — phishing links, tracking pixels, CSS/UI spoofing — to every subscriber on their channel (up to 10,000 recipients per invocation). The email is sent From: the platform's configured contact address and wrapped in the site's official logo and title, so attacker-supplied HTML arrives with the appearance of an official platform communication. Commit https://github.com/WWBN/AVideo/commit/ contains an updated fix.
📍 영향받는 시스템
WWBN AVideo 버전 29.0 이하 (objects/notifySubscribers.json.php 포함)
⚔️ 공격 벡터
업로드 권한이 있는 인증 사용자가 notifySubscribers API의 message POST 파라미터에 HTML 코드를 삽입하여 채널 구독자 전체에 전파
🛡️ 대응 방법
WWBN AVideo를 최신 버전으로 업그레이드하고, 메시지 전송 전 htmlspecialchars() 등으로 HTML 살균화 적용
🔧 검증 코드
파일이 검출되면 해당 설치본이 취약점 대상이며, grep 결과에서 htmlspecialchars 함수 부재 시 취약점 확정
find / -path '*/objects/notifySubscribers.json.php' -type f 2>/dev/null | xargs grep -l 'str_replace.*{message}' 2>/dev/null