🇰🇷 한글 설명
WWBN AVideo 29.0 이하 버전에서 objects/configurationUpdate.json.php(및 /updateConfig 경로)는 관리자 권한(User::isAdmin())만 확인하고 CSRF 토큰, globalToken, Origin/Referer 검증이 없습니다. AVideo가 크로스 오리진 iframe 임베딩을 위해 session.cookie_samesite=None을 설정하므로, 로그인한 관리자가 공격자 페이지를 방문하면 사이트 설정(SMTP 자격증명, 인코더 URL, head HTML, 로고 등)이 한 번의 요청으로 변경될 수 있습니다. 수정 커밋은 f9492f5e6123dff0292d5bb3164fde7665dc36b4입니다.
💡 쉬운 설명
관리자가 로그인한 상태에서 악성 웹페이지를 방문하면, 그 사이트 설정이 몰래 바뀔 수 있습니다. 이를 통해 이메일 계정 정보 탈취나 악성 스크립트 삽입 등이 가능해집니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. In versions 29.0 and prior, `objects/configurationUpdate.json.php` (also routed via `/updateConfig`) persists dozens of global site settings from `$_POST` but protects the endpoint only with `User::isAdmin()`. It does not call `forbidIfIsUntrustedRequest()`, does not verify a `globalToken`, and does not validate the Origin/Referer header. Because AVideo intentionally sets `session.cookie_samesite=None` to support cross-origin iframe embedding, a logged-in administrator who visits an attacker-controlled page will have the browser auto-submit a cross-origin POST that rewrites the site's encoder URL, SMTP credentials, site `<head>` HTML, logo, favicon, contact email, and more in a single request. Commit f9492f5e6123dff0292d5bb3164fde7665dc36b4 contains a fix.
📍 영향받는 시스템
WWBN AVideo 29.0 이하 버전
⚔️ 공격 벡터
로그인한 관리자가 공격자가 만든 페이지를 방문하면 브라우저가 자동으로 설정 변경 POST 요청을 전송 (CSRF)
🛡️ 대응 방법
f9492f5e6123dff0292d5bb3164fde7665dc36b4 커밋이 적용된 버전으로 업데이트
🔧 검증 코드
출력에 forbidIfIsUntrustedRequest 호출 라인이 존재하면 패치된 것이고, 아무 결과도 없으면 취약한 상태일 가능성이 높습니다.
grep -n 'forbidIfIsUntrustedRequest' $(find / -path '*/objects/configurationUpdate.json.php' 2>/dev/null | head -1)