🇰🇷 한글 설명
WWBN AVideo 29.0 이하 버전의 plugin/Meet/iframe.php에서 user와 pass 쿼리 파라미터가 이스케이프 없이 JavaScript 문자열 리터럴에 삽입되어, 조작된 URL을 통해 피해자 브라우저에서 임의의 스크립트가 실행될 수 있습니다. 공개된 Meet 일정이 존재하면 인증 없이 공격이 가능하며, 커밋 3298ced2bcf92e4f3acff6ce9bde14edf42ecb5b에서 수정되었습니다.
💡 쉬운 설명
공격자가 만든 링크를 클릭하면 AVideo 사이트 안에서 악성 스크립트가 실행될 수 있습니다. 로그인 없이도 공격이 가능한 경우가 있어 주의가 필요합니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. In versions up to and including 29.0, plugin/Meet/iframe.php echoes the attacker-controlled user and pass query parameters unescaped into a JavaScript double-quoted string literal inside a <script> block. An attacker who sends a victim to a crafted URL can break out of the string and execute arbitrary JavaScript in the victim's browser in the context of the AVideo origin. No authentication is required if a public Meet schedule exists on the target. Commit 3298ced2bcf92e4f3acff6ce9bde14edf42ecb5b contains an updated fix.
📍 영향받는 시스템
WWBN AVideo 29.0 이하 버전 (plugin/Meet/iframe.php 포함 설치본)
⚔️ 공격 벡터
공격자가 user/pass 파라미터에 스크립트를 삽입한 악성 URL을 피해자가 열도록 유도하여 XSS 실행
🛡️ 대응 방법
수정 커밋 3298ced2bcf92e4f3acff6ce9bde14edf42ecb5b가 반영된 최신 버전으로 업데이트하거나 해당 커밋을 적용하고, 필요시 Meet 플러그인을 비활성화
🔧 검증 코드
출력에 user/pass 값이 htmlspecialchars 또는 json_encode로 처리된 라인이 나타나면 패치가 적용된 것이며, 결과가 없으면 취약할 가능성이 있으므로 업데이트가 필요합니다.
grep -n 'htmlspecialchars\|json_encode' $(find / -path '*plugin/Meet/iframe.php' 2>/dev/null | head -1) 2>/dev/null