> For the complete documentation index, see [llms.txt](https://beafn28.gitbook.io/beafn28/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://beafn28.gitbook.io/beafn28/cve-and-poc/poc-cve-2025-10370-rpi-jukebox-rfid-2.8.0-stored-cross-site-scripting-xss.md).

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

{% embed url="<https://www.exploit-db.com/exploits/52470>" %}

#### 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

* **Exploit Database:** <https://www.exploit-db.com/exploits/52470>
* **CVE Record:** <https://nvd.nist.gov/vuln/detail/CVE-2025-10370>

{% hint style="danger" %}
Esta PoC ha sido desarrollada únicamente con fines educativos y de investigación. No debe ejecutarse contra sistemas en producción ni sin autorización expresa. Seguir siempre prácticas de *responsible disclosure*.
{% endhint %}
