🇰🇷 한글 설명
WWBN AVideo 29.0 이전 버전에는 YouTubeAPI 갤러리 페이지네이션의 search 파라미터가 HTML 이스케이프 없이 href 속성에 삽입되어 인증 없이 악용 가능한 반사형 XSS 취약점이 존재합니다. 공격자는 조작된 URL을 통해 피해자의 브라우저에서 AVideo 출처로 임의 스크립트를 실행할 수 있으며, 피해자가 관리자인 경우 전체 관리자 권한 탈취로 이어질 수 있습니다. 해당 문제는 커밋 f50fc033b7adb36f1ffd6640e7826468bdafdec3에서 패치되었습니다.
💡 쉬운 설명
공격자가 만든 특수 링크를 관리자가 클릭하면 악성 스크립트가 실행됩니다. 이 스크립트로 관리자 권한을 빼앗겨 시스템 전체가 장악될 수 있습니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. Versions prior to 29.0 contain an unauthenticated Reflected XSS vulnerability through AVideo YouTubeAPI Gallery Pagination. The $_GET['search'] query parameter is concatenated directly into the href attribute of two pagination links in plugin/YouTubeAPI/gallerySection.php (lines 67 and 74) with no htmlspecialchars, no urlencode, and no allow-list check. An injected <script> element is then extracted by the AVideo Layout plugin and concatenated into a single trailing inline script block at the bottom of the page, where the browser executes it. Any unauthenticated attacker can lure a victim into following a crafted URL to execute arbitrary JavaScript under the AVideo origin, which can read non-HttpOnly cookies and issue authenticated AJAX requests as the victim, and when the victim is an administrator, it can perform any cookie-authenticated admin action (create user, promote to admin, change configuration, install plugin), escalating a single click into full administrative takeover. This issue has been patched by this commit: https://github.com/WWBN/AVideo/commit/f50fc033b7adb36f1ffd6640e7826468bdafdec3.
📍 영향받는 시스템
WWBN AVideo 29.0 이전 버전 (YouTubeAPI 플러그인 갤러리 기능 사용 시)
⚔️ 공격 벡터
조작된 search 파라미터가 포함된 URL을 피해자(특히 관리자)가 클릭하도록 유도하여 임의 JavaScript 실행
🛡️ 대응 방법
AVideo를 29.0 이상으로 업그레이드하거나 커밋 f50fc033b7adb36f1ffd6640e7826468bdafdec3 패치를 적용하십시오.
🔧 검증 코드
출력에 search 값이 htmlspecialchars나 urlencode 없이 href에 직접 연결되어 있으면 취약하며, 아무 결과가 없거나 이스케이프 함수가 보이면 패치된 것입니다.
grep -rn "search" $(find / -path '*YouTubeAPI/gallerySection.php' 2>/dev/null | head -1) 2>/dev/null | grep -i href