🇰🇷 한글 설명
WWBN AVideo 29.0 이하 버전의 isSSRFSafeURL() 함수에는 webSiteRootURL과 호스트명이 일치하는 URL에 대해 모든 SSRF 보호를 우회하는 same-domain 단락 로직이 존재합니다. 이 검사는 포트를 무시하므로 공격자는 사이트의 공개 호스트명과 비표준 포트를 사용해 서버 내부의 임의 포트에 접근할 수 있으며, 응답 본문이 웹에서 접근 가능한 경로에 저장되어 데이터가 유출될 수 있습니다.
💡 쉬운 설명
AVideo 서버가 자기 자신의 주소로 들어오는 요청을 무조건 안전하다고 믿어버리는 문제입니다. 공격자는 이 허점을 이용해 서버 내부의 다른 서비스에 접근하고 그 결과를 훔쳐볼 수 있습니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. In versions 29.0 and below, the `isSSRFSafeURL()` function in `objects/functions.php` contains a same-domain shortcircuit (lines 4290-4296) that allows any URL whose hostname matches `webSiteRootURL` to bypass all SSRF protections. Because the check compares only the hostname and ignores the port, an attacker can reach arbitrary ports on the AVideo server by using the site's public hostname with a non-standard port. The response body is saved to a web-accessible path, enabling full exfiltration. Commit a0156a6398362086390d949190f9d52a823000ba fixes the issue.
📍 영향받는 시스템
WWBN AVideo 29.0 이하 버전
⚔️ 공격 벡터
사이트 공개 호스트명과 비표준 포트를 포함한 URL을 조작해 SSRF 보호를 우회하여 내부 포트 접근 및 응답 데이터 유출
🛡️ 대응 방법
AVideo를 수정 커밋 a0156a6398362086390d949190f9d52a823000ba 이상 버전으로 업데이트
🔧 검증 코드
출력된 isSSRFSafeURL 함수 내 same-domain 비교 로직(4290~4296행 부근)에 포트 검사가 없으면 취약, 포트까지 검증하거나 해당 로직이 제거되었다면 패치된 것입니다.
grep -n 'webSiteRootURL' objects/functions.php | head -20