PoC - CVE-2025-10327 (RPi-Jukebox-RFID 2.8.0) – Remote Command Execution

Resumen

Desarrollé una Proof of Concept (PoC) que demuestra una vulnerabilidad de Remote Command Execution (RCE)mediante OS Command Injection en RPi-Jukebox-RFID versión ≤ 2.8.0.

La PoC fue verificada y publicada en Exploit Database (EDB-ID 52468). Esta entrada documenta el vector afectado, la técnica empleada, el entorno de pruebas y recomendaciones de mitigación.

Detalle técnico

  • Producto afectado: RPi-Jukebox-RFID

  • Versión: ≤ 2.8.0

  • CVE: CVE-2025-10327

  • Endpoint vulnerable: /htdocs/api/playlist/shuffle.php

  • Parámetro: playlist (JSON body)

  • Tipo de vulnerabilidad: OS Command Injection / Remote Command Execution

Descripción de la PoC

La PoC demuestra que el parámetro playlist es pasado directamente a un comando del sistema operativo sin una correcta sanitización.

Mediante la inyección de caracteres especiales y comandos arbitrarios, es posible lograr la ejecución remota de comandos en el sistema subyacente.

Las pruebas se realizaron exclusivamente en entornos controlados de laboratorio, con el objetivo de validar la existencia y el impacto real de la vulnerabilidad, sin comprometer sistemas en producción.

Comportamiento demostrado

  • Ejecución de comandos arbitrarios del sistema operativo.

  • Creación de archivos en el sistema como prueba de ejecución remota.

  • Confirmación de que la entrada del usuario no es neutralizada antes de su uso en comandos del sistema.

Entorno de pruebas

  • Plataforma: Raspberry Pi OS

  • Aplicación: RPi-Jukebox-RFID v2.8.0

  • Herramientas empleadas:

    • curl

    • Scripts Python (requests)

    • Entorno local / laboratorio controlado

circle-exclamation

Impacto

Un atacante remoto puede explotar esta vulnerabilidad para:

  • Ejecutar comandos arbitrarios en el sistema (impacto crítico en integridad).

  • Acceder o modificar información sensible almacenada en el dispositivo (confidencialidad).

  • Interrumpir el funcionamiento del servicio o del sistema anfitrión (disponibilidad).

Mitigaciones recomendadas

  • Evitar el uso de llamadas a shell con entradas controladas por el usuario.

  • Validar y sanear estrictamente el parámetro playlist mediante allow-lists.

  • Implementar funciones seguras (escapeshellarg, escapeshellcmd) si el uso de comandos es imprescindible.

  • Restringir permisos del proceso web para minimizar el impacto de una posible explotación.

  • Actualizar o parchear la aplicación cuando el vendor publique una versión corregida.

Referencias

triangle-exclamation

Last updated