🔍 CVE-2026-41167

9.1
CVSS Score
CRITICAL
2026-04-22
2026-04-29 20:46
✅ 완료

🇰🇷 한글 설명

Jellystat 1.1.10 이전 버전의 API 엔드포인트(/api/getUserDetails, /api/getLibrary)에서 요청 데이터가 SQL 쿼리에 직접 삽입되는 SQL injection 취약점이 있습니다. 인증된 사용자는 이를 악용하여 관리자 자격증명, Jellyfin API 키 등 데이터베이스 전체에 접근할 수 있으며, node-postgres의 simple query protocol 특성상 stacked queries로 PostgreSQL 호스트에서 임의의 명령 실행(RCE)까지 가능합니다.

💡 쉬운 설명

Jellystat 앱에서 로그인한 사용자가 조작된 요청을 보내 데이터베이스의 모든 민감한 정보에 접근할 수 있는 결함입니다. 더 나아가 공격자가 서버를 완전히 장악할 수도 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

Jellystat < 1.1.10

⚔️ 공격 벡터

인증된 사용자가 POST /api/getUserDetails 또는 /api/getLibrary에 SQL injection 페이로드를 포함한 요청 전송

🛡️ 대응 방법

Jellystat를 1.1.10 이상으로 즉시 업데이트

🔧 검증 코드

버전이 1.1.10 이상이면 패치됨, 1.1.10 미만이면 취약

Shell / Script
npm list jellystat 2>/dev/null | grep jellystat || cat package.json | grep -A 1 '"jellystat"'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

PostgreSQL