🇰🇷 한글 설명
AVideo의 특정 버전에서 라이브 스트림 비밀번호 검증이 stats 엔드포인트 및 HLS 오리진에서 제대로 수행되지 않는 취약점이 발견되었습니다. 공격자는 인증 없이도 스트림 키와 암호화 키를 탈취하여 비밀번호로 보호된 라이브 방송을 무단으로 시청할 수 있습니다.
💡 쉬운 설명
비밀번호가 걸려 있는 실시간 방송인데, 보안 설정 오류로 인해 비밀번호 없이도 방송 주소와 암호 해독 키를 알아낼 수 있는 문제입니다. 이를 통해 누구나 몰래 방송을 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
AVideo through revision c3edcc274c389816d434acadac07ee78eaf330c1 (master, 2026-08-23) does not enforce the Live stream password check on the stats endpoint or on the HLS origin. Live::_getStats() (plugin/Live/Live.php) returns a password-protected transmission's RTMP stream key, its isPasswordProtected flag, and its HLS (m3u8) URL to unauthenticated callers, in both the public applications list and the hidden_applications branch used when canSeeLiveFromLiveKey() fails. Separately, the shipped NGINX configuration (deploy/nginx/nginx.conf) serves the .m3u8 playlist, the AES-128 key, and the transport-stream segments from the /live location without any auth_request (the auth_key_check directive in the .key location is commented out). A remote, unauthenticated attacker can therefore retrieve the stream key and decryption key and watch a password-protected live transmission without supplying the configured password. No patched version was available at the time of the advisory.
📍 영향받는 시스템
AVideo (revision c3edcc274c389816d434acadac07ee78eaf330c1 이하 버전)
⚔️ 공격 벡터
인증되지 않은 원격 공격자가 stats 엔드포인트에 접근하여 스트림 키 및 HLS 관련 정보를 탈취
🛡️ 대응 방법
패치된 버전이 출시될 때까지 NGINX 설정에서 auth_request를 활성화하고, 관련 엔드포인트에 대한 접근 제어를 강화해야 함
🔧 검증 코드
출력된 커밋 해시값이 c3edcc274c389816d434acadac07ee78eaf330c1와 같거나 그 이전 버전인지 확인