
오픈소스 미디어 서버 Jellyfin이 12.0 버전을 출시하면서 여러 보안 취약점을 수정했습니다. 주요 수정 사항으로는 서버가 허용된 폴더 밖의 파일에 접근하는 경로 탐색(Path Traversal) 공격 차단, 설정되지 않은 서버에서 비인증 사용자가 관리자 계정 생성 페이지(설정 마법사)를 다시 실행할 수 있던 문제, XSS(공격자가 삽입한 악성 코드가 다른 사용자의 브라우저에서 실행되는 취약점) 수정 등이 포함됩니다. 다만 개별 취약점에 CVE 식별자나 심각도 등급이 부여되지 않아 패치 우선순위를 판단하기 어렵습니다. 업그레이드 전에 서드파티 플러그인 호환성 확인과 중복 사용자명 정리가 반드시 필요합니다.
Jellyfin 미디어 서버 12.0에서 경로 탐색 취약점, 비인가 설정 마법사 재실행, XSS, 부모 통제 우회, 플러그인 명칭 검증 미흡 등 다수의 보안 문제가 수정되어 발표됨.
인터넷에 노출된 잘못 구성된 서버에서 비인증 사용자가 관리자 계정 생성 페이지에 접근하거나, 허용되지 않은 파일에 무단 접근하거나, 공격자가 다른 사용자 브라우저에서 악성 스크립트를 실행할 수 있었음.
파일 경로 검증 부재, 설정 마법사 재실행 방지 로직 미흡, 웹 인터페이스의 사용자 입력값 검증 부족(XSS).
Jellyfin 12.0 업데이트 적용으로 모든 보안 취약점 패치. 단, 개별 CVE 미부여 및 심각도 미공개.
업그레이드 전 서드파티 플러그인 제거 및 중복 사용자명 정리 필수. 업그레이드 경로는 10.10.7 또는 10.11.x에서만 직접 가능하며 사전 데이터 백업 권장.
본문
Jellyfin이 미디어 서버 버전 12.0을 출시했습니다. 이번 보안 수정 중 일부는 서버가 허용된 폴더 밖의 파일을 전달하도록 조작된 요청을 차단합니다. 나머지 보안 작업은 최초 실행 설정, 플러그인 설치, 부모 통제, 웹 인터페이스에 걸쳐 이루어졌습니다.
잘못 구성된 서버에서는 로그인하지 않은 사용자도 설정 마법사, 즉 관리자 계정을 만들고 Jellyfin에 라이브러리를 연결하는 최초 실행 페이지를 두 번째로 실행시킬 수 있었습니다.
이름이 안전하지 않은 플러그인 패키지는 이제 거부됩니다. 이전에는 적용되지 않던 곳에서도 부모 통제가 작동하며, 웹 클라이언트에서는 XSS(공격자가 제공한 콘텐츠가 다른 사용자의 브라우저 세션에서 스크립트로 실행되는 버그 유형) 수정이 이루어졌습니다.
프로젝트 측은 개별 이슈를 명시하거나 CVE 식별자를 부여하거나 심각도를 평가하지 않기 때문에, 패치 속도를 결정해야 하는 관리자는 "security"라는 단어와 그 주변 문장만을 근거로 판단해야 합니다.
구형 클라이언트 및 구형 로그인 방식 지원 종료
레거시 주소인 /emby/와 /mediabrowser/에 대한 지원이 제거되었으며, 이미 지원 중단(deprecated)으로 표시되어 있던 로그인 방식은 신규 설치뿐 아니라 기존 서버에서도 기본적으로 비활성화됩니다. 수년간 업데이트되지 않은 클라이언트는 연결이 끊기게 됩니다.
또한 Jellyfin은 이번 릴리스에서 이미 아무 동작도 하지 않는 상태(no-op)로 축소된 5개 라우트 중 하나인 POST /Users/{userId}/EasyPassword를 삭제했으며, UserDto.HasPassword는 그 반환값이 더 이상 유용하지 않다는 이유로 더 이상 사용하지 않는(obsolete) 항목으로 표시했습니다.
12.0에서는 사용자명이 대소문자를 구분하지 않으며, 대소문자만 다른 이름을 가진 두 계정이 공존할 수 없습니다. 이러한 계정 쌍이 존재하는 서버는 데이터베이스 마이그레이션 자체가 실패하므로, 업그레이드 전에 사용자 목록을 미리 확인하는 것이 좋습니다.
내장 TLS는 당분간 유지
Jellyfin은 10.11.0 릴리스 노트에서 이번 버전에서 서버 자체 TLS 지원을 제거하겠다고 밝혔습니다. 그러나 해당 제거는 향후 버전으로 연기되었습니다. 프로젝트 측은 계속해서 리버스 프록시 뒤에 서버를 운영할 것을 권장합니다.
Jellyfin 내장 TLS로 인터넷에 노출된 인스턴스를 운영 중인 경우, 연기로 인해 업그레이드 후에도 계속 작동합니다.
업그레이드 전 확인 사항
10.11용으로 빌드된 서드파티 플러그인은 12.0에서 로드되지 않습니다. 서버가 이제 .NET 10을 대상으로 하며 여러 플러그인 인터페이스가 변경되었기 때문에, 해당 플러그인은 제작자로부터 업데이트된 빌드가 필요합니다. Jellyfin은 업그레이드 전에 플러그인을 서버에서 제거하고, 새 빌드가 나오면 다시 추가하도록 권장합니다. 공식 플러그인은 이미 업데이트된 상태입니다. 비활성화된 플러그인은 이제 재시작 후에도 비활성 상태를 유지하는데, 이는 10.11에서는 그렇지 않았던 동작입니다.
업그레이드 경로는 10.10.7 또는 10.11.x 릴리스에서 시작하며, 더 오래된 버전은 먼저 10.10.7을 거쳐야 합니다. 업그레이드 후 전체 라이브러리 스캔이 필요하며, Jellyfin이 라이브러리의 모든 항목을 디스크의 파일과 대조하기 때문에 첫 번째 스캔은 평소보다 상당히 오래 걸립니다. 마이그레이션을 의도적인 단계로 실행하고 싶은 관리자는 --mode MigrateSystem 옵션으로 서버를 시작할 수 있으며, 이 경우 업그레이드를 수행한 후 나머지 Jellyfin을 시작하지 않고 종료합니다.
데이터베이스 스키마가 변경되고 첫 번째 부팅 시 데이터가 재작성되므로, 그 전에 만들어 둔 백업이 이전 버전으로 되돌릴 수 있는 유일한 방법입니다.
관련 투런 솔루션
이 뉴스의 취약점·위협, 투런 솔루션으로 대응하세요.






