🇰🇷 한글 설명
Tautulli는 Plex Media Server의 모니터링 도구로, 버전 2.17.0 이전에 /pms_image_proxy 엔드포인트가 사용자가 제공한 img 파라미터를 인증 없이 Plex 서버로 전달합니다. 공격자는 이를 악용하여 Plex Media Server 프로세스가 내부 네트워크(RFC-1918 주소 포함)의 임의 URL로 HTTP 요청을 보내도록 유도할 수 있습니다. 이 취약점은 SSRF(Server-Side Request Forgery) 공격을 가능하게 합니다.
💡 쉬운 설명
Tautulli라는 프로그램이 외부에서 전달된 주소를 검증 없이 내부 서버에 요청을 보내는 데 사용할 수 있어, 공격자가 내부 네트워크 자원에 무단 접근할 수 있습니다. 마치 내부 직원을 이용해 회사 내부 시스템을 몰래 들여다보는 것과 같습니다.
🇺🇸 원문 (English)
Tautulli is a Python based monitoring and tracking tool for Plex Media Server. Prior to version 2.17.0, the /pms_image_proxy endpoint accepts a user-supplied img parameter and forwards it to Plex Media Server's /photo/:/ transcode transcoder without authentication and without restricting the scheme or host. The endpoint is intentionally excluded from all authentication checks in webstart.py, any value of img beginning with http is passed directly to Plex, this causes the Plex Media Server process, which typically runs on the same host or internal network as Tautulli, with access to RFC-1918 address space, to issue an outbound HTTP request to any attacker-specified URL. This issue has been patched in version 2.17.0.
📍 영향받는 시스템
Tautulli 2.17.0 미만 버전 (Python 기반, Plex Media Server 연동 환경)
⚔️ 공격 벡터
인증 없이 접근 가능한 /pms_image_proxy?img=http://내부IP 형태의 HTTP 요청으로 SSRF 공격 수행
🛡️ 대응 방법
Tautulli를 버전 2.17.0 이상으로 업그레이드
🔧 검증 코드
출력된 버전이 2.17.0 미만이면 취약하며, 2.17.0 이상이면 패치된 상태입니다
pip show tautulli 2>/dev/null || pip3 show tautulli 2>/dev/null || find / -name 'Tautulli.py' -exec grep -m1 'version' {} \; 2>/dev/null