Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-35031 — Vulnerabilidad crítica de path traversal a RCE en Jellyfin Media Server (CVSS 9.9). Incluye exploit de prueba de concepto, análisis técnico y herramientas de detección. | Kitploit
Herramientas/GitHubGitHub/keraattin/cve-2026-35031
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónPapers e InvestigaciónAprendizaje y EducaciónDesarrollo de Payloads
GitHubkeraattin/cve-2026-35031

CVE-2026-35031

Vulnerabilidad crítica de path traversal a RCE en Jellyfin Media Server (CVSS 9.9). Incluye exploit de prueba de concepto, análisis técnico y herramientas de detección.

24hace 5 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2026-35031: Vulnerabilidad de Path Traversal en la Subida de Subtítulos de Jellyfin que deriva en RCE

CVE-ID CVSS Score CWE Affected Product Status

TL;DR

Una vulnerabilidad crítica de path traversal en Jellyfin Media Server permite a usuarios autenticados con el permiso "Upload Subtitles" subir archivos a ubicaciones arbitrarias del disco. Al explotar el campo Format no validado en el endpoint de subida de subtítulos, los atacantes pueden escribir archivos en ubicaciones sensibles, extraer datos confidenciales, escalar privilegios y, en última instancia, ejecutar código arbitrario como root mediante la inyección de LD_PRELOAD.

  • Puntuación CVSS: 9.9 (Critical)
  • Versiones afectadas: Jellyfin < 10.11.7
  • Versión corregida: Jellyfin 10.11.7+
  • Autenticación requerida: Sí (usuario no administrador con permiso de subida de subtítulos)
  • Ejecución remota de código: Sí, como root
  • Complejidad del exploit: Baja

Tabla de contenidos

  1. Datos rápidos
  2. ¿Qué es Jellyfin?
  3. Análisis en profundidad de la vulnerabilidad
    • Análisis de la causa raíz
    • Desglose de la cadena de ataque
    • Explotación mediante LD_PRELOAD
  4. Análisis de impacto
  5. Versiones afectadas
  6. Detección
    • Escáner en Python
    • Script NSE de Nmap
  7. Indicadores de compromiso
  8. Remediación
  9. Referencias
  10. Autor

Datos rápidos

PropiedadValor
ID CVECVE-2026-35031
Puntuación CVSS9.9 (Critical)
CWECWE-22: Limitación incorrecta del nombre de una ruta a un directorio restringido ('Path Traversal')
Producto afectadoJellyfin Media Server
Versiones afectadas< 10.11.7
Versión corregida10.11.7 y posteriores
Tipo de vulnerabilidadPath Traversal + Escritura arbitraria de archivos + RCE
Autenticación requeridaSí (usuario no administrador)
Privilegios requeridosPermiso "Upload Subtitles"
Puerto predeterminado8096/TCP
Aviso de GitHubGHSA-9p5f-5x8v-x65m
Estado del parcheDisponible y publicado
Exploit públicoSí

¿Qué es Jellyfin?

Jellyfin es un servidor multimedia gratuito y de código abierto diseñado para ayudarte a gestionar y transmitir tu colección multimedia personal. Proporciona una funcionalidad similar a la de los servidores multimedia comerciales, pero con total transparencia del código fuente y control por parte de la comunidad.

Características principales

  • Transmisión multimedia autoalojada (música, películas, series de TV)
  • Soporte multi-usuario con controles de permisos granulares
  • Gestión y sincronización de subtítulos
  • Interfaz basada en web accesible mediante HTTP/HTTPS
  • Despliegue multiplataforma (Linux, Windows, macOS)
  • Soporte para varios formatos multimedia y protocolos de streaming

Arquitectura de red```

                      Jellyfin Media Server (Port 8096)
                     /                |                \
                    /                 |                 \
               Web UI            REST API          Media Streams
              (Browser)        (Authenticated)    (Subtitle Upload)
                                     |
                    /System/Info/Public (unauthenticated)
                    /Videos/{itemId}/Subtitles (vulnerable)
                    /Library/Collections (admin)

Client Devices > Network > Jellyfin Server > Database + Storage | /var/lib/jellyfin/ /etc/ld.so.preload (writable via vulnerability)

---

## Análisis en profundidad de la vulnerabilidad

### Análisis de la causa raíz

La vulnerabilidad existe en el endpoint de carga de subtítulos (`/Videos/{itemId}/Subtitles`), que acepta cargas de archivos y los almacena en disco. El fallo crítico radica en la validación insuficiente del parámetro del campo Format.

#### Patrón de código vulnerable

El endpoint procesa las cargas de subtítulos sin validar ni sanear adecuadamente el campo Format:```
POST /Videos/{itemId}/Subtitles HTTP/1.1
Content-Type: multipart/form-data

[Binary subtitle data]
Format: /../../../etc/ld.so.preload
Language: en

El parámetro Format está destinado a especificar el formato de subtítulos (srt, vtt, ass, etc.), pero en su lugar se trata como parte de la ruta del archivo:``` Base Path: /var/lib/jellyfin/subtitles/ User Input: /../../../etc/ld.so.preload Result: /var/lib/jellyfin/subtitles/../../../etc/ld.so.preload Resolved: /etc/ld.so.preload (via path traversal)

### Desglose de la cadena de ataque

La vulnerabilidad combina múltiples debilidades para lograr la ejecución remota de código como root:```
Step 1: Subtitle Upload with Path Traversal
        POST /Videos/{itemId}/Subtitles
        Format: /../../../etc/ld.so.preload
                    |
                    v
Step 2: Arbitrary File Write
        Write attacker-controlled data to /etc/ld.so.preload
                    |
                    v
Step 3: File Read via .strm Files
        Create .strm files pointing to sensitive paths
        Extract database contents and credentials
                    |
                    v
Step 4: Database Extraction
        Access /jellyfin/jellyfin.db via .strm
        Extract admin user hashes
                    |
                    v
Step 5: Admin Privilege Escalation
        Reset admin password or create new admin account
                    |
                    v
Step 6: RCE via LD_PRELOAD Injection
        LD_PRELOAD=/path/to/malicious.so java
        Arbitrary code execution as root

Mecanismo de Path Traversal```

Input Validation Failure:

Format Field Validation: Expected: srt | vtt | ass | ssa | sub | subrip Actual: /../../../etc/ld.so.preload Result: NO VALIDATION > PATH TRAVERSAL ALLOWED

File Write Operation: String Concatenation: "/subtitles/" + user_format + ".srt" | NO CANONICALIZATION: Path component not resolved before write NO WHITELIST: Format values not restricted NO BOUNDS CHECK: ".." sequences not filtered | v Final Path: /etc/ld.so.preload (EXPLOITED)

### Explotación de LD_PRELOAD

La técnica LD_PRELOAD es un poderoso método de escalada de privilegios y ejecución de código en sistemas Linux:```
LD_PRELOAD Injection Flow:

1. Attacker writes malicious .so (shared object) to /etc/ld.so.preload
   
   /etc/ld.so.preload contents:
   /path/to/attacker.so
Descargar herramienta