
CyberPanel RCE autenticado < 2.3.8
Inyección de comandos del sistema operativo autenticada en CyberPanel
Las versiones de CyberPanel anteriores a 2.3.8 son vulnerables a una inyección de comandos del sistema operativo. Para explotar la vulnerabilidad, el atacante debe iniciar sesión primero en el panel web.
CyberPanel 2.3.7
Un atacante puede utilizar una solicitud HTTP OPTIONS para indicar al servidor web que ejecuta la aplicación CyberPanel que ejecute comandos arbitrarios. Esta vulnerabilidad se encuentra en el endpoint /websites/submitWebsiteCreation.
Este endpoint llama a la función submitWebsiteCreation en la ubicación del archivo /websiteFunctions/views.py.
Esta función a su vez llama a la función wm.submitWebsiteCreation que se encuentra en el archivo /websiteFunctions/website.py. Esta función extrae cinco parámetros que se utilizan dentro de la función:
- domain;
- adminEmail;
- phpSelection;
- packageName;
- websiteOwner;
Estos parámetros se pasan posteriormente directamente a una función que los ejecuta:
El código de prueba de concepto (PoC) se puede encontrar en el archivo cyberpanel.py que está enlazado en este repositorio.
Esta prueba de concepto se puede utilizar para escribir archivos con permisos de nivel root, en cualquier parte del sistema:
Esto podría resultar en un compromiso total del dispositivo. Si la carpeta de instalación de CyberPanel del dispositivo es accesible, los datos pueden extraerse más fácilmente a través del panel web.
El informe que describe el proceso de descubrimiento del exploit estará disponible en: https://thottysploity.github.io/posts/cve-2024-53376
30.10.2024 - Vulnerabilidad identificada
31.10.2024 - Se contactó a Usman Nasir, propietario de CyberPanel
02.11.2024 - Usman corrigió el problema y publicó una solución
03.11.2024 - Se solicitó el ID de CVE a MITRE
23.11.2024 - MITRE reservó el ID de CVE 2024-53376
15.12.2024 - CVE-2024-53376 publicado públicamente