No tienes que ser un súper hacker para hackear millones de sitios web, esta falla de CPanel lo hace fácil para cualquiera

El software conocido como cPanel se usa ampliamente en línea como panel de control para alojamiento web. En el momento en que se escribió este artículo, había exactamente 1,4 millones de instalaciones de cPanel expuestas en la Internet pública.

Los investigadores encontraron una vulnerabilidad conocida como secuencias de comandos de sitios cruzados reflejadas, que podría explotarse sin necesidad de autenticación. Además, la vulnerabilidad XSS podría explotarse incluso si los puertos de administración de cPanel (2080, 2082, 2083 y 2086) no estuvieran abiertos al mundo exterior. Este fue el caso independientemente de si estaban expuestos o no. Esto significa que si su sitio web está alojado en cPanel y se ejecuta en los puertos 80 y 443, también era susceptible a la vulnerabilidad de secuencias de comandos entre sitios.

Una identificación de llamada web no válida que puede incluir contenido XSS es el núcleo de CVE-2023-29489, la vulnerabilidad que causa. Cuando este contenido se muestra en la página de error de cpsrvd, no se escapa adecuadamente, lo que permite el ataque XSS.

Las repercusiones de ser susceptible a estos peligros son bastante preocupantes. El uso de cPanel con su configuración predeterminada permite a los actores maliciosos ejecutar una autenticación previa de JavaScript arbitraria en casi cualquier puerto de un servidor web. Esto se debe a las reglas de proxy que permiten el acceso al directorio /cpanelwebcall/ incluso en los puertos 80 y 443, que antes eran inaccesibles.

El efecto de esta vulnerabilidad es que pueden ejecutar JavaScript arbitrario, incluidos los scripts que necesitan autenticación previa, en prácticamente todos los puertos de un servidor web que utiliza cPanel con su configuración predeterminada.

Las restricciones de proxy son las culpables de esta situación. A pesar de que Apache está enviando un proxy a los puertos de administración de cPanel en los puertos 80 y 443, todavía pudieron acceder al directorio /cpanelwebcall/.

Debido a esto, un adversario puede lanzar ataques no solo contra los puertos administrativos de cPanel, sino también contra las aplicaciones que operan en los puertos 80 y 443.

Un adversario puede emplear este ataque de secuencias de comandos entre sitios para apoderarse de la sesión de cPanel de un usuario legítimo si los puertos de administración de cPanel estuvieron expuestos al ataque en primer lugar.

Después de autenticarse con éxito como usuario de cPanel, a menudo es bastante simple cargar un shell web para obtener privilegios de ejecución de comandos para uno mismo.

Prueba de concepto

Con el fin de demostrar la vulnerabilidad, los investigadores proporcionaron las siguientes URL de prueba de concepto:

  • http://example.com/cpanelwebcall/<img%20src=x%20onerror=”prompt(1)”>aaaaaaaaaaaa
  • http://example.com:2082/cpanelwebcall/<img%20src=x%20onerror=”prompt(1)”>aaaaaaaaaaaa
  • http://example.com:2086/cpanelwebcall/<img%20src=x%20onerror=”prompt(1)”>aaaaaaaaaaaa
  • http://example.com:2082/cpanelwebcall/<img%20src=x%20onerror=”prompt(1)”>aaaaaaaaaaaa

No se preocupe si cree que esta vulnerabilidad puede estar afectando su sitio web. Debido a que la mayoría de las instalaciones de cPanel en Internet tienen activada la capacidad de actualización automática, es posible que ya no corra el riesgo de ser explotado, incluso si no aplica un parche. Actualizar a cualquiera de las siguientes versiones de cPanel o superior eliminará el riesgo asociado con esta vulnerabilidad:

11.109.9999.116
11.108.0.13
11.106.0.18
11.102.0.31