🇰🇷 한글 설명
All-in-One Video Gallery 워드프레스 플러그인(4.9.7 이하)에서 'custom_fields[embedcode]' 매개변수를 통한 저장형 크로스사이트 스크립팅(XSS) 취약점이 존재합니다. 구독자 이상의 인증된 사용자가 XML-RPC를 통해 악성 스크립트를 삽입할 수 있으며, 해당 페이지를 방문한 사용자의 브라우저에서 스크립트가 실행됩니다.
💡 쉬운 설명
회원 가입만 한 일반 사용자도 특정 동영상 플러그인의 입력 칸을 악용해 웹사이트 페이지에 악성 코드를 심을 수 있습니다. 그 페이지를 여는 다른 방문자의 브라우저에서 이 코드가 몰래 실행될 수 있습니다.
🇺🇸 원문 (English)
The All-in-One Video Gallery – Video Player & Galleries for YouTube, Vimeo & Self-Hosted Videos plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'custom_fields[embedcode]' parameter in all versions up to, and including, 4.9.7 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The sanitization bypass is possible because the save_meta_data() handler returns early when $_POST['post_type'] is absent — a condition always true during XML-RPC requests — and the plugin unconditionally grants Subscribers the publish_aiovg_videos capability, making this exploitable by any authenticated user via a single wp.newPost XML-RPC call.
📍 영향받는 시스템
All-in-One Video Gallery 워드프레스 플러그인 4.9.7 이하 버전
⚔️ 공격 벡터
구독자 권한 계정으로 XML-RPC wp.newPost 호출 시 custom_fields[embedcode]에 악성 스크립트를 삽입하여 저장형 XSS 실행
🛡️ 대응 방법
All-in-One Video Gallery 플러그인을 4.9.8 이상 버전으로 즉시 업데이트하고, 업데이트 전까지 XML-RPC 기능을 비활성화하거나 불필요한 구독자 권한을 점검하십시오.
🔧 검증 코드
출력된 버전이 4.9.7 이하이면 취약하므로 4.9.8 이상으로 업데이트가 필요하며, 플러그인이 설치되어 있지 않으면 해당 없음입니다.
wp plugin list --name=all-in-one-video-gallery --fields=name,version,status 2>/dev/null || grep -i 'Version:' wp-content/plugins/all-in-one-video-gallery/all-in-one-video-gallery.php 2>/dev/null