CVE-2026-41167
CriticalSummary
Jellystat to darmowa aplikacja statystyczna dla Jellyfin, która przed wersją 1.1.10 miała wiele punktów końcowych API, które budowały zapytania SQL, interpolując niesanitizowane pola z ciała żądania bezpośrednio do surowych ciągów SQL. Użytkownik z autoryzacją mógł wstrzyknąć dowolne zapytanie SQL, co umożliwiało pełny odczyt dowolnej tabeli w bazie danych.
Risk Assessment
Ryzyko dla organizacji polega na możliwości ujawnienia wrażliwych danych, takich jak dane logowania administratora Jellystat oraz klucz API Jellyfin. Dodatkowo, atakujący może uzyskać dostęp do wykonania dowolnych poleceń na hoście PostgreSQL, co stwarza poważne zagrożenie dla bezpieczeństwa systemu.
Recommendation
Zaleca się aktualizację do wersji 1.1.10 lub nowszej, która zawiera poprawki eliminujące tę podatność. Należy również przeprowadzić audyt bezpieczeństwa bazy danych oraz monitorować dostęp do API.
Original NVD description (English source)
Jellystat is a free and open source Statistics App for Jellyfin. Prior to version 1.1.10, multiple API endpoints in Jellystat build SQL queries by interpolating unsanitized request-body fields directly into raw SQL strings. An authenticated user can inject arbitrary SQL via `POST /api/getUserDetails` and `POST /api/getLibrary`, enabling full read of any table in the database - including `app_config`, which stores the Jellystat admin credentials, the Jellyfin API key, and the Jellyfin host URL. Because the vulnerable call site dispatches via `node-postgres`'s simple query protocol (no parameter array is passed), stacked queries are allowed, which escalates the injection from data disclosure to arbitrary command execution on the PostgreSQL host via `COPY ... TO PROGRAM`. Under the role shipped by the project's `docker-compose.yml` (a PostgreSQL superuser), no additional privileges are required to reach the RCE primitive. Version 1.1.10 contains a fix.

