
PoC de CVE-2025-31864
Plugin de WordPress
Nombre del componente Beam me up Scotty – Back to Top Button
Versión vulnerable <= 1.0.23
Slug del componente beam-me-up-scotty
Enlace del componente https://wordpress.org/plugins/beam-me-up-scotty/
Clase de vulnerabilidad A3: Inyección
Tipo de vulnerabilidad Cross Site Scripting (XSS)
Administrador
En las versiones 1.0.23 e inferiores del plugin Beam me up Scotty, existe una vulnerabilidad de Cross Site Scripting (XSS) almacenado debida a una validación insuficiente del tipo de datos y a la falta de procesamiento de escape en los ajustes de personalización del ‘botón de volver arriba’.
Estos ajustes de personalización solo son accesibles para usuarios con privilegios de administrador y, si un atacante con derechos de administrador explota esta vulnerabilidad, los visitantes de todas las páginas en las que se muestra el ‘botón de volver arriba’ quedarán expuestos a ataques de Cross Site Scripting (XSS).
Prepare un sitio WordPress con el plugin Beam me up Scotty versión 1.0.23 o inferior instalado y activado.
Acceda al menú de personalización del ‘botón de volver arriba’(/wp-admin/themes.php?page=beam-me-up-scotty_settings).

Con la función Intercept de una herramienta proxy (p. ej., BurpSuite) habilitada, haga clic en el botón 'Guardar' en la parte inferior del menú de ajustes del ‘botón de volver arriba’ para interceptar el paquete de solicitud que guarda los ajustes de personalización del ‘botón de volver arriba’.

Cambie el valor del payload beam_me_up_scotty_bottom_indentation en el payload de la solicitud por el siguiente y, a continuación, haga clic en Forward.
20px;}</style><script>alert("XSS")</script><style>foo{bottom:0

Tras acceder al sitio WordPress, puede confirmar que se produce la vulnerabilidad XSS.


El plugin Beam me up Scotty ejecuta el archivo /wp-content/plugins/beam-me-up-scotty/library/includes/dynamic-css.php para aplicar los ajustes de personalización del ‘botón de volver arriba’.
Este archivo establece los ajustes de personalización como valores del atributo de estilo del ‘botón de volver arriba’ dentro de la etiqueta style. En este punto, puede verificar que los ajustes de personalización del ‘botón de volver arriba’ se referencian en la etiqueta style sin ningún procesamiento de escape.

Por lo tanto, como se muestra en el PoC, podemos confirmar que cuando se introduce el payload beam_me_up_scotty_bottom_indentation que contiene el script de ataque XSS, el script se ejecuta porque su valor se referencia como valor del atributo de estilo del ‘botón de volver arriba’ sin ningún procesamiento de escape.

Como resultado, al acceder al sitio WordPress, puede verificar el siguiente código HTML.
