C0: review jellyfin, upgrade indri to 10.11.11 (security fixes)
Jellyfin was 5 patch releases behind (10.11.6 -> 10.11.11). 10.11.7 and 10.11.10 contain disclosed CVE/GHSA security fixes. Upgraded via brew upgrade --cask jellyfin on indri; service verified healthy and externally reachable (HTTPS 200). Documented the recurring Gatekeeper gotcha: cask upgrades re-quarantine the .app and the launchd service hangs silently until the first-launch dialog is approved on indri's GUI console (xattr removal over SSH is blocked by macOS TCC). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
bc34b601be
commit
8072cd21d7
3 changed files with 29 additions and 4 deletions
1
docs/changelog.d/+jellyfin-10-11-11.bugfix.md
Normal file
1
docs/changelog.d/+jellyfin-10-11-11.bugfix.md
Normal file
|
|
@ -0,0 +1 @@
|
|||
Upgraded Jellyfin on indri from 10.11.6 to 10.11.11, picking up the security fixes in 10.11.7 (disclosed CVEs/GHSAs, flagged "upgrade immediately") and 10.11.10 (three further GHSAs). Noted the recurring gotcha in the service-versions tracking: after a `brew upgrade --cask jellyfin`, the re-quarantined `.app` makes the launchd-spawned process hang silently until the Gatekeeper first-launch dialog is approved on indri's GUI console — removing the quarantine xattr over SSH is blocked by macOS TCC.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
title: Jellyfin
|
||||
modified: 2026-02-07
|
||||
last-reviewed: 2026-03-23
|
||||
modified: 2026-06-08
|
||||
last-reviewed: 2026-06-08
|
||||
tags:
|
||||
- service
|
||||
- media
|
||||
|
|
@ -41,6 +41,24 @@ Dashboard > Playback:
|
|||
2. Allow hardware encoding: Enabled
|
||||
3. VPP Tone mapping: Enabled
|
||||
|
||||
## Upgrades
|
||||
|
||||
Installed via Homebrew cask (`state: present`, unpinned), so the Ansible role
|
||||
won't bump an already-installed cask. To upgrade, run on indri:
|
||||
|
||||
```bash
|
||||
brew upgrade --cask jellyfin
|
||||
```
|
||||
|
||||
**Gatekeeper gotcha:** a cask upgrade replaces `/Applications/Jellyfin.app` and
|
||||
re-applies the `com.apple.quarantine` xattr. When launchd respawns the service,
|
||||
the new binary hangs silently — process alive but ~0 CPU, no logs, no listening
|
||||
socket — because Gatekeeper is holding the first launch pending approval.
|
||||
Removing the xattr over SSH fails (`xattr -dr com.apple.quarantine ...` →
|
||||
"Operation not permitted", blocked by macOS TCC). Approve the first-launch
|
||||
dialog on indri's GUI console (or run the `xattr` removal from a local Terminal
|
||||
with Full Disk Access), then reload the LaunchAgent.
|
||||
|
||||
## Observability
|
||||
|
||||
- Metrics: `jellyfin_metrics` ansible role
|
||||
|
|
|
|||
|
|
@ -440,9 +440,15 @@ services:
|
|||
|
||||
- name: jellyfin
|
||||
type: ansible
|
||||
last-reviewed: 2026-03-17
|
||||
current-version: "10.11.6"
|
||||
last-reviewed: 2026-06-08
|
||||
current-version: "10.11.11"
|
||||
upstream-source: https://github.com/jellyfin/jellyfin/releases
|
||||
notes: >-
|
||||
Homebrew cask (state: present, unpinned). Upgrade with
|
||||
`brew upgrade --cask jellyfin` on indri. After upgrade the .app is
|
||||
re-quarantined; launchd-spawned launch hangs silently until the
|
||||
Gatekeeper first-launch dialog is approved on indri's GUI console
|
||||
(xattr removal over SSH is blocked by TCC).
|
||||
|
||||
- name: automounter
|
||||
type: ansible
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue