🇰🇷 한글 설명
WWBN AVideo 26.0 이하 버전에서 Live_schedule::keyExists() 메서드가 스트림 키를 파라미터화 없이 SQL 쿼리 문자열에 직접 삽입합니다. 이 메서드는 LiveTransmition::keyExists()의 파라미터화된 조회가 결과를 반환하지 않을 때 폴백으로 호출되어, RTMP 퍼블리시 인증 과정에서 SQL 인젝션이 가능해집니다. 현재 패치 버전은 제공되지 않았습니다.
💡 쉬운 설명
방송 스트림 인증을 처리하는 내부 기능에 보호장치가 빠진 경로가 있어, 공격자가 악의적인 입력으로 데이터베이스를 조작할 수 있습니다. 아직 수정된 버전이 나오지 않았습니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. In versions up to and including 26.0, the `Live_schedule::keyExists()` method constructs a SQL query by interpolating a stream key directly into the query string without parameterization. This method is called as a fallback from `LiveTransmition::keyExists()` when the initial parameterized lookup returns no results. Although the calling function correctly uses parameterized queries for its own lookup, the fallback path to `Live_schedule::keyExists()` undoes this protection entirely. This vulnerability is distinct from GHSA-pvw4-p2jm-chjm, which covers SQL injection via the `live_schedule_id` parameter in the reminder function. This finding targets the stream key lookup path used during RTMP publish authentication. As of time of publication, no patched versions are available.
📍 영향받는 시스템
WWBN AVideo 26.0 이하 전 버전
⚔️ 공격 벡터
RTMP 퍼블리시 인증 시 조작된 스트림 키를 전송하여 폴백 경로의 SQL 인젝션을 유발
🛡️ 대응 방법
패치 버전 출시 전까지 RTMP 인증 경로 접근을 차단하거나, Live_schedule::keyExists()에 파라미터화된 쿼리를 적용하고 관리자 권한과 DB 계정 권한을 최소화
🔧 검증 코드
출력된 버전 값이 26.0 이하이면 취약한 것으로 판단하며, 값이 확인되지 않으면 AVideo 설치 경로를 직접 지정해 재확인해야 합니다.
grep -rn "AVideo\|version" /var/www/html/version.php 2>/dev/null | head -5