Jellyfin 12.0 がリリース:サーバ/Web クライアントに影響する重要なセキュリティ・アップデート

Jellyfin 12.0 Released With Security Fixes for Unauthorized File Access and XSS Flaws

2026/09/08 gbhackers — オープンソースのメディア・サーバである Jellyfin の バージョン 12.0 がリリースされ、幅広いプラットフォームにわたる改善を含む大規模なアップデートが加えられたが、その中にはサーバ/Web クライアントに影響する重要なセキュリティ・アップデートも含まれている。このアップデートには、データベースの移行や既存の導入環境との互換性に影響する変更が含まれるため、Jellyfin Project は管理者に対し、アップグレードを慎重に計画することを強く推奨している。

Jellyfin 12.0 をリリース

今回のアップデートに含まれるセキュリティ修正により、細工したリクエストを介した Jellyfin の指定ディレクトリ外へのファイル・アクセスが防止される。それにより、設定に不備のあるインスタンスでのセットアップ・ウィザードの不正な再実行が防止され、安全でない名前を持つプラグイン・パッケージが拒否されるほか、ペアレンタル・コントロールの適用が強化される。また、ブラウザを介した管理や処理に影響する Web クライアントのクロスサイト・スクリプティング (XSS) の脆弱性も修正されている。

今回のアップデートは、通常のインプレース・アップデートではない。Jellyfin 12.0 ではデータベース・スキーマが変更され、初回起動時にデータが書き換えられるため、以前のバージョンへ戻すにはバックアップから復元する必要がある。このため、管理者はアップグレードを開始する前にサービスを停止し、データ・ディレクトリおよび設定ディレクトリを手動でバックアップする必要がある。

Jellyfin 12.0 へのアップグレードがサポートされるのは Version 10.10.7/10.11.x からであり、それより古いバージョンを実行している環境では、最初に 10.10.7 へアップグレードする必要がある。

また、ユーザー名の大文字/小文字が区別されなくなるため、管理者は大文字/小文字だけが異なるユーザー名を持つアカウントを特定する必要がある。もし、重複するユーザー名が存在すると、移行処理の初期段階でデータベースの移行が失敗する。

代替バージョンの保存モデルを新しい仕様に対応させるため、Jellyfin は自動的にグループ化されていたバージョンの情報を削除した後、ディスクに保存されたファイルからの再構築が行われる。したがって、移行の完了後にはライブラリ全体のスキャンが必要となる。

初回スキャンには通常より長い時間を要する可能性があり、一部のタイトルが新しく追加されたものとして認識される場合もある。また、移行処理が進行している間は、中断してはならない。

Jellyfin は、従来の “/emby/” と “/mediabrowser/” のルートを廃止し、非推奨となった認証方式をデフォルトで無効化したため、メンテナンスされていないクライアント/連携機能が動作しなくなるリスクがある。

開発者に推奨されるのは、サーバが Version 12.0.0 に更新された後に、バージョン文字列を解析する機能、従来のルートを使用する機能、SDK を生成する処理をテストするとともに、更新された OpenAPI 定義に基づく出力を導入前に再生成することである。

サーバのターゲットは .NET 10 へ変更され、複数のインターフェースも変更されているため、Version 10.11 向けに構築されたプラグインではターゲット・フレームワークの変更と再ビルドが必要となり、プラグインのメンテナは別途移行が必要となる点に注意する必要がある。

Jellyfin が管理者に推奨しているのは、アップグレード前にサードパーティ製プラグインを削除し、アップグレード完了後に互換性のあるバージョンのみを復元することである。公式プラグインについては、すでに Version 12.0 に対応するアップデートが提供されている。

Version 12.0 では、セキュリティの改善に加えてプレイリスト/コレクションのデータ構造も変更されている。具体的には、各項目が個別のデータベース行として保存されるようになったことで、大規模なリストにおけるページ分割/件数の算出/編集が改善されるとともに、インターフェースのフリーズが減少する。また、代替バージョンのグループ化が TV エピソードにも拡張され、書籍/コミックへの対応が追加されたほか、より現代的なレイアウトが採用されている。

インターネットへ公開されている環境について、Jellyfin Project は引き続き Jellyfin をリバース・プロキシの背後に配置することを推奨している。内部 TLS/SSL の廃止は延期されたが、これは移行に使える時間が増えたことを意味するだけで、推奨される運用方法そのものが変更されたわけではない。

組織に求められるのは、段階的にアップグレードを実施し、クライアント設定を検証するとともに、初回起動時に行われる移行処理を監視し、ライブラリを再スキャンした上で、アップグレード完了後に必要となる場合はキャッシュを消去することである。