🇰🇷 한글 설명
WWBN AVideo 26.0 이하 버전에서 isSSRFSafeURL()은 요청 전에 URL이 사설/예약 IP 대역인지 검증하지만, url_get_contents()는 HTTP 리다이렉트 대상을 재검증하지 않습니다. 이로 인해 공격자는 공개 URL에서 내부 대상으로 리다이렉트하여 SSRF 방어를 우회할 수 있습니다. 패치는 커밋 8b7e9dad359d5fac69e0cbbb370250e0b284bc12에 포함되어 있습니다.
💡 쉬운 설명
이 취약점은 공격자가 서버가 대신 접속하는 주소를 조작해 내부 네트워크 정보에 접근하게 만들 수 있습니다. 서버의 보안 검사가 최초 주소만 확인하고 리다이렉트된 주소는 확인하지 않기 때문에 발생합니다.
🇺🇸 원문 (English)
WWBN AVideo is an open source video platform. In versions up to and including 26.0, `isSSRFSafeURL()` validates URLs against private/reserved IP ranges before fetching, but `url_get_contents()` follows HTTP redirects without re-validating the redirect target. An attacker can bypass SSRF protection by redirecting from a public URL to an internal target. Commit 8b7e9dad359d5fac69e0cbbb370250e0b284bc12 contains a patch.
📍 영향받는 시스템
WWBN AVideo 26.0 이하 버전
⚔️ 공격 벡터
공개 URL이 내부 IP 주소로 리다이렉트되도록 구성해 서버가 내부 자원에 요청하도록 유도
🛡️ 대응 방법
AVideo를 커밋 8b7e9dad359d5fac69e0cbbb370250e0b284bc12 이후 버전으로 업데이트
🔧 검증 코드
결과에 isSSRFSafeURL 함수가 존재하고 url_get_contents 내부에서 리다이렉트 재검증 로직(CURLOPT_FOLLOWLOCATION 제어 또는 리다이렉트 URL 재검사)이 있으면 패치된 것이며, 없으면 취약할 가능성이 높습니다.
grep -rn "isSSRFSafeURL" /var/www/html 2>/dev/null | head -5