Click2Shell convierte una visita al panel de administración de WordPress en una instalación forzada de un tema
Vulnerabilidad Click2Shell en WordPress permite instalar temas con un clic de admin y lograr ejecución remota. Afecta v6.0+, corregida en 7.1.1.
Texto generado por inteligencia artificial, publicado sin revisión humana. Transparencia IA
Imagen ilustrativa generada con IA
Una vulnerabilidad del núcleo de WordPress corregida recientemente permite que un atacante consiga que el navegador de un administrador autenticado instale y previsualice un tema elegido del directorio oficial de WordPress.org. Los investigadores de pwn.ai bautizaron la técnica resultante como Click2Shell.
La vulnerabilidad del núcleo está considerada de gravedad alta, con una puntuación CVSS de 7,1. No permite directamente cargar archivos arbitrarios ni ejecutar código. Sin embargo, los investigadores demostraron que, al combinarla con otra vulnerabilidad presente en un tema de WordPress, puede producirse una ejecución de código en el servidor, lo que eleva la puntuación de la cadena completa a un nivel crítico: 9,6.
WordPress corrigió el problema en la versión 7.1.1, publicada el 17 de septiembre, y distribuyó las correspondientes actualizaciones de seguridad para las ramas compatibles hasta WordPress 4.7. Actualmente no hay indicios de que atacantes hayan explotado Click2Shell en ataques reales.
Una URL maliciosa hace que WordPress pulse su propio control Install
Click2Shell aprovecha el procesamiento incoherente del mismo valor de URL controlado por el atacante entre el directorio de temas de WordPress.org y el código JavaScript que se ejecuta en el navegador del administrador.
El directorio de temas interpreta el valor proporcionado como un nombre de tema convencional y devuelve un tema legítimo alojado en WordPress.org. Posteriormente, el código del navegador reutiliza ese valor, incluida la puntuación añadida por el atacante, para identificar un elemento de la página.
Esta manipulación hace que el código seleccione el control Install del tema. A continuación, el propio JavaScript de WordPress activa el control sin que el administrador tenga que pulsar manualmente el botón de instalación.
El navegador proporciona todo lo necesario para autorizar la acción porque la víctima ya ha iniciado sesión con privilegios de administrador. Esto incluye la sesión autenticada de WordPress y el token de seguridad utilizado para aprobar la instalación. Por tanto, el atacante no necesita robar credenciales, predecir el token ni autenticarse directamente en el sitio.
Aun así, es necesaria la interacción del usuario. El objetivo debe haber iniciado sesión como administrador y abrir el enlace especialmente construido.
Esta condición limita el ataque frente a un exploit remoto completamente no autenticado, pero también hace que la URL resulte adecuada para campañas de phishing, mensajes directos, señuelos relacionados con soporte técnico u otros métodos destinados a llegar a los administradores del sitio.
Un tema inactivo aún puede exponer PHP ejecutable
La instalación forzada no activa el tema elegido. En consecuencia, el sitio web público conserva su diseño actual y es posible que los administradores no vean ninguna señal visual inmediata de que ha aparecido otro tema en el servidor.
Sin embargo, que esté inactivo no significa que sea inofensivo.
WordPress puede cargar y ejecutar el código PHP de un tema inactivo al generar una vista previa mediante el Customizer. Click2Shell aprovecha este comportamiento: después de forzar la instalación, el ataque pasa al procesamiento de la vista previa, donde el código vulnerable del tema puede quedar accesible sin modificar el tema activo habitual del sitio.
Esta distinción determina el impacto práctico de la vulnerabilidad. El problema del núcleo de WordPress instala un tema legítimo elegido por el atacante desde el directorio oficial. Por sí solo, no puede cargar un archivo ZIP de tema arbitrario ni introducir directamente PHP escrito por el atacante.
Para conseguir la ejecución de código en el servidor, el tema seleccionado debe contener otra vulnerabilidad explotable. Click2Shell proporciona una vía para colocar ese tema en el objetivo y hacer que WordPress procese su código.
Mobile Repair Zone completó la cadena de prueba de concepto
Para su demostración, los investigadores de pwn.ai seleccionaron el tema Mobile Repair Zone. Un controlador en segundo plano vulnerable de ese tema aceptaba una dirección web incluida en una solicitud, descargaba un paquete desde la ubicación especificada y ejecutaba el código contenido en él.
El controlador no verificaba si el solicitante disponía de los permisos necesarios. Tampoco exigía un token de seguridad.
La ausencia de estos controles hizo que el controlador resultara útil como segunda fase del ataque. En primer lugar, Click2Shell hizo que WordPress instalara Mobile Repair Zone desde WordPress.org. Después, WordPress cargó el tema inactivo al generar una vista previa en el Customizer. Una vez disponible su controlador vulnerable, el atacante podía indicarle que recuperara y ejecutara código controlado por él en el servidor.
Se trata de un exploit encadenado, no de un fallo independiente de ejecución remota de código en el núcleo de WordPress. Los dos componentes desempeñan funciones distintas:
- Click2Shell aprovecha la sesión de un administrador para instalar y previsualizar un tema legítimo.
- La vulnerabilidad del tema recupera un paquete remoto y ejecuta su contenido sin comprobaciones de autorización adecuadas.
La puntuación crítica de 9,6 se aplica a esta ruta completa. El fallo de instalación del núcleo por sí solo tiene una puntuación de 7,1.
WordPress 6.0 y las versiones anteriores a la corrección están afectadas
La vulnerabilidad se ha confirmado en WordPress 6.0 y en versiones posteriores hasta las inmediatamente anteriores a la corrección. La principal versión corregida es WordPress 7.1.1.
WordPress también publicó actualizaciones de seguridad equivalentes para las ramas compatibles afectadas, con cobertura hasta la versión 4.7. Los administradores no tienen necesariamente que trasladar todas las instalaciones a la rama de funcionalidades 7.1, pero sí deben aplicar la versión de seguridad correspondiente a la rama que utilicen.
Los sitios configurados para aceptar automáticamente las actualizaciones de seguridad del núcleo de WordPress deberían recibir la corrección de forma automática. Aun así, los responsables deben verificar la versión instalada en lugar de dar por hecho que la actualización se completó correctamente, especialmente cuando los permisos de archivos, los controles de despliegue o la configuración de gestión de actualizaciones puedan interrumpir la instalación automática.
WordPress no ha publicado su propia clasificación de gravedad para Click2Shell. Por el momento no se ha asignado ningún identificador CVE, aunque pwn.ai afirmó que WordPress tiene previsto añadir uno.
No se han proporcionado indicadores públicos de compromiso. El formato de la URL afectada y otros artefactos de detección tampoco se conocen a partir de la información divulgada hasta ahora.
La actualización del núcleo cierra la vía de instalación forzada
Los administradores deben instalar WordPress 7.1.1 o la actualización de seguridad correspondiente a la rama compatible que utilicen. La actualización del núcleo bloquea la técnica demostrada de instalación y previsualización, con independencia de que Mobile Repair Zone u otro tema potencialmente vulnerable esté presente.
Ni WordPress ni pwn.ai han proporcionado una medida técnica alternativa específica para los sistemas que no puedan aplicar los parches de inmediato. Hasta que se instale una actualización, los administradores deben evitar abrir enlaces no fiables mientras tengan iniciada la sesión en WordPress, especialmente las URL presentadas como recursos de gestión del sitio, temas o soporte técnico.
Esta precaución solo reduce la exposición. No elimina el comportamiento vulnerable.
Los equipos de defensa también pueden revisar los temas instalados para detectar incorporaciones inesperadas, incluidos los que permanezcan inactivos. Como Click2Shell no necesita activar el tema seleccionado, supervisar únicamente los cambios en el tema activo no permitiría detectar el comportamiento demostrado por los investigadores. Una instalación de tema no explicada debería dar pie a examinar la actividad de los administradores y el procesamiento posterior del Customizer.
Click2Shell no es lo mismo que wp2shell
Click2Shell sucede a otro problema del núcleo de WordPress descubierto por pwn.ai y corregido en agosto. Aquella vulnerabilidad anterior afectaba a la pantalla de inicio de sesión y también podía combinarse con otros fallos para alcanzar la ejecución de código, aunque WordPress describió su riesgo de forma más limitada que los investigadores.
Otra vulnerabilidad del núcleo de WordPress divulgada en julio, denominada wp2shell, no está relacionada con el trabajo de pwn.ai sobre Click2Shell. Sus condiciones de explotación son más graves: wp2shell no requiere autenticación ni que la víctima haga clic, y CISA la ha incluido entre las vulnerabilidades explotadas en ataques reales.
No existen indicios equivalentes de explotación activa de Click2Shell. Su dependencia de que un administrador autenticado abra una URL maliciosa constituye un requisito previo importante, pero la prueba de concepto muestra cómo esa única acción puede atravesar varias fronteras de seguridad: desde la selección de elementos en el navegador hasta la instalación del tema, la carga de PHP durante la previsualización y, en última instancia, la ejecución en el servidor cuando hay disponible un segundo componente vulnerable.
Fuentes
Este artículo es una reelaboración original basada en las siguientes fuentes.
