PoC - CVE-2025-10370 (RPi-Jukebox-RFID 2.8.0) - Stored Cross-Site Scripting (XSS)

Resumen

Se desarrolló una Proof of Concept (PoC) que demuestra una vulnerabilidad de Cross-Site Scripting (XSS) almacenado en RPi-Jukebox-RFID versión 2.8.0. La vulnerabilidad permite a un atacante autenticado inyectar código JavaScript malicioso que queda almacenado y se ejecuta posteriormente en el navegador de los usuarios que acceden a la funcionalidad afectada.

La PoC fue verificada y publicada en Exploit Database (EDB-ID 52470). Esta entrada documenta el vector vulnerable, el comportamiento observado, el entorno de pruebas y las recomendaciones de mitigación.

Detalle técnico

  • Producto afectado: RPi-Jukebox-RFID

  • Versión: 2.8.0

  • CVE: CVE-2025-10370

  • Endpoint vulnerable: /phoniebox/htdocs/userScripts.php

  • Parámetro: customScript

  • Tipo de vulnerabilidad: Stored Cross-Site Scripting (XSS)

  • Impacto: Ejecución de JavaScript arbitrario

  • Plataforma: Web / Raspberry Pi

Descripción de la PoC

La PoC demuestra que el parámetro customScript no es correctamente validado ni sanitizado antes de ser procesado y almacenado por la aplicación.

Un atacante puede enviar contenido HTML o JavaScript malicioso mediante una petición HTTP POST, logrando que dicho contenido quede persistido. Cuando la página vulnerable es renderizada, el payload se ejecuta en el contexto del navegador del usuario afectado.

Las pruebas se realizaron exclusivamente en un entorno controlado de laboratorio para validar la existencia y el impacto real de la vulnerabilidad.

Comportamiento demostrado

  • Inyección persistente de código JavaScript.

  • Ejecución del payload al renderizar la página afectada.

  • Posibilidad de manipulación de la interfaz.

  • Base para escenarios de robo de sesión o acciones no autorizadas.

Entorno de pruebas

  • Sistema operativo: Raspberry Pi OS

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

  • Herramientas empleadas:

    • Python

    • requests

    • HTTP POST manual

Impacto

Un atacante puede explotar esta vulnerabilidad para:

  • Ejecutar JavaScript arbitrario en el navegador de los usuarios.

  • Robar cookies o tokens de sesión.

  • Manipular la interfaz web.

  • Realizar acciones en nombre del usuario afectado.

El impacto afecta principalmente a la confidencialidad y integridad de las sesiones de los usuarios.

Mitigaciones recomendadas

  • Validar y sanear estrictamente todas las entradas controladas por el usuario.

  • Aplicar codificación de salida contextual (HTML escaping).

  • Evitar almacenar directamente entradas sin filtrar.

  • Implementar políticas de seguridad como Content Security Policy (CSP).

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

Referencias

triangle-exclamation

Last updated