Cadena de RCE no autenticado en Control Web Panel (CVE-2026-73696)
Control Web Panel antes de la versión 1.12 permite ejecutar código del panel de usuario sin autenticar; tres avisos de VulnCheck cubren la cadena.
TL;DR
- Control Web Panel antes de la versión 1.12 del panel de usuario permite que un atacante no autenticado pase la redirección de inicio de sesión y use los módulos del propio panel de usuario. Dos fallas adicionales convierten ese acceso en escrituras de archivos y ejecución de comandos del sistema. VulnCheck publicó los tres avisos el 2 de noviembre de 2026.
- CVE-2026-73696, la omisión por ejecución tras redirección, puntúa 9.3 Critical, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N. CVE-2026-73695 y CVE-2026-73697 puntúan 8.7 High cada una.
- No se reporta exploit, explotación ni víctima, y ninguno de los tres CVE figura en el catálogo KEV de CISA al 2 de noviembre de 2026. El investigador, Valentin Lobstein, firma como Chocapikk.
- Actualice CWP a la versión actual ahora. Las correcciones del panel de usuario llegaron en la versión 1.12 del 8 de septiembre de 2026, y el panel está hoy en la versión 1.30.1. Restrinja el puerto del panel de usuario a redes de confianza si no puede actualizar hoy.
¿Estoy afectado?
Deben cumplirse todas estas condiciones:
- Ejecuta Control Web Panel, el panel de alojamiento Linux gratuito. El proveedor declara que más de 35,000 servidores ejecutan CWP.
- El panel de usuario es alcanzable por el atacante. Escucha en su propio puerto, 2082 por defecto, separado del panel de administración en 2030.
- Para CVE-2026-73696, la versión del panel de usuario es inferior a 1.12. Para CVE-2026-73695 y CVE-2026-73697, es inferior a 1.16.
Las tres fallas se encadenan pero también funcionan por separado. La omisión de redirección (CVE-2026-73696) es la entrada no autenticada. La traversal de rutas (CVE-2026-73695) y las fallas de phpini_editor (CVE-2026-73697) requieren una sesión del panel de usuario, que la omisión proporciona sin credenciales. Las correcciones llegaron dos meses antes de la divulgación.
| Rama del panel de usuario | Versiones afectadas | Versión corregida |
|---|---|---|
| Todas las versiones del panel de usuario antes de 1.12 | Toda versión inferior a 1.12 (omisión de redirección, CVE-2026-73696) | 1.12, publicada el 2026-09-08 |
| Panel de usuario 1.12 a antes de 1.16 | 1.12 hasta 1.15 (traversal de rutas y phpini_editor, CVE-2026-73695 y CVE-2026-73697) | 1.16 |
Compruebe la versión en la interfaz del panel. El registro de cambios lista las versiones del panel de usuario separadas de las del panel de administración, así que una actualización administrativa reciente no significa que el panel de usuario haya cambiado.
¿Cómo lo corrijo?
Actualice CWP a la versión actual, 1.30.1, que incluye todas las correcciones del panel de usuario de 1.12 y 1.16.
- Haga una copia de seguridad del servidor, incluida
/usr/local/cwpsrvy la base de datos del panel. CWP no tiene desinstalador, así que una actualización fallida es difícil de revertir. - En el panel de administración, ejecute la actualización de CWP a la última versión. Los equipos varias versiones por detrás pueden necesitar más de un paso.
- Verifique después la versión del panel de usuario contra el registro de cambios del proveedor, no solo la del panel de administración.
Restringir el puerto del panel de usuario es la mitigación mientras llega la actualización. El panel escucha en 2082 por defecto; límitelo con su cortafuegos a redes de confianza. Esto no corrige ninguna de las tres fallas, y los clientes de alojamiento que necesitan el panel siguen requiriendo acceso: considérelo solo una reducción de exposición.
¿Cuál es la causa raíz?
Control Web Panel es de código cerrado, así que esta sección trabaja con las tres descripciones de avisos de VulnCheck, que nombran el archivo, la acción y la comprobación ausente.
CVE-2026-73696 es una falla de ejecución tras redirección, CWE-698, en el flujo de autenticación del panel de usuario, CWPUserIndex. El control de inicio de sesión redirige a los usuarios no autenticados con una llamada header('Location: ...') pero nunca llama a exit() después. PHP sigue ejecutando la página. En PHP, una llamada header() solo envía la redirección; no detiene el script. Una petición no autenticada continúa así más allá de la redirección hacia funciones del panel de usuario que deberían exigir sesión.
CVE-2026-73695 es una traversal de rutas, CWE-98, en services/users/index.php. El parámetro del nombre de módulo se concatena directamente en una ruta de inclusión sin saneamiento. Las secuencias de traversal de directorio alcanzan así include y cargan archivos PHP locales arbitrarios. Cualquier archivo local con código PHP se vuelve ejecutable en el contexto del panel de usuario.
CVE-2026-73697 es un par de fallas en el módulo phpini_editor del panel de usuario, CWE-22 y CWE-78. La acción acc=update escribe contenido controlado por el atacante en rutas arbitrarias mediante file_put_contents sin confinamiento de ruta. La acción acc=addlabelphpiniadv pasa entrada sin sanear a shell_exec. Juntas ofrecen una escritura de archivo arbitraria y ejecución directa de comandos del sistema en el contexto del panel de usuario.
¿Cómo se explota?
No existe prueba de concepto pública para ninguno de los tres CVE, así que estos pasos reformulan la cadena que describen los avisos de VulnCheck.
- El atacante envía una petición no autenticada a una página del panel de usuario. En lugar de detenerse en la redirección de inicio de sesión, la ejecución de PHP continúa y la petición alcanza funciones del panel de usuario (CVE-2026-73696).
- Con las funciones del panel alcanzables, el atacante carga en
services/users/index.phpun módulo cuyo nombre lleva secuencias de traversal, incluyendo un archivo PHP local arbitrario (CVE-2026-73695). - Alternativamente, o después, el atacante usa el módulo
phpini_editor. La acciónacc=updateescribe un archivo elegido en una ruta elegida, yacc=addlabelphpiniadvpasa entrada sin sanear ashell_exec, ejecutando comandos del sistema en el contexto del panel de usuario (CVE-2026-73697).
VulnCheck describe el impacto de la traversal como ejecución de código PHP arbitrario, y el de las fallas de phpini_editor como ejecución de código en el contexto del panel de usuario. La cuenta que ejecuta el código es el proceso del panel de usuario, no root.
¿Cómo fluye el ataque?
En una frase: una petición no autenticada salta la redirección de inicio de sesión, un nombre de módulo con secuencias de traversal alcanza la ruta de inclusión, y phpini_editor luego escribe archivos o ejecuta comandos de shell.
una página del panel de usuario"] --> B["Redirección de inicio de sesión enviada,
sin exit() después"] B --> C["PHP sigue ejecutando
la página"] C --> D["Nombre de módulo con traversal
alcanza la ruta de inclusión"] D --> E["phpini_editor escribe archivos
y ejecuta shell_exec"] E --> F["Ejecución de código en el
contexto del panel de usuario"]
¿Qué puede hacer un atacante?
El impacto documentado es ejecución de código PHP arbitrario y de comandos del sistema en el contexto del panel de usuario, bajo estas condiciones:
- El puerto del panel de usuario es alcanzable por el atacante por red. Los tres vectores CVSS registran un vector de ataque de red.
- La omisión de redirección no requiere privilegios ni interacción del usuario. Las dos fallas siguientes listan privilegios bajos en sus vectores, y la omisión es lo que satisface ese requisito sin credenciales.
- La traversal solo carga archivos locales, así que el atacante necesita un archivo PHP en el servidor, o una ubicación de subida escribible para colocar uno primero.
Los avisos de VulnCheck no afirman ejecución como root, acceso al panel de administración ni impacto entre servidores. El panel de usuario ejecuta funciones de clientes de alojamiento, así que el código ejecutado hereda el alcance de ese proceso.
¿Por qué funciona el parche?
El proveedor distribuye builds de código cerrado, así que el diff no es público. Las entradas del registro de cambios del panel de usuario registran las correcciones que corresponden a los tres avisos. La versión 1.12 lista entradas «Improved security for login and session» e «Improved security on file», y las entradas posteriores continúan el endurecimiento.
La versión 1.12 cierra la omisión de redirección para CVE-2026-73696, y la versión 1.16 lleva las correcciones de CVE-2026-73695 y CVE-2026-73697. Toda versión desde 1.16 contiene las tres correcciones, y la versión actual, 1.30.1, también. Si cada ruta de inclusión y cada acción de módulo más allá de estas tres recibieron el mismo endurecimiento no se declara públicamente: mantenga el panel de usuario fuera de internet abierto incluso actualizado.
¿Cómo compruebo si fui comprometido?
No hay indicadores de compromiso publicados para estas fallas. Use comprobaciones centradas en el panel.
- Revise los registros de acceso del panel de usuario buscando peticiones a
services/users/index.phpo rutas del módulophpini_editorque llegaron sin un inicio de sesión previo para esa sesión. - Inspeccione el sistema de archivos del panel buscando archivos PHP con tiempos de modificación recientes en directorios servidos por el panel de usuario, sobre todo archivos cuyo nombre contenga secuencias de traversal.
- Compruebe la ubicación de almacenamiento de phpini_editor en busca de archivos de configuración que no haya creado, y revise el historial de comandos de shell y el cron buscando entradas que referencien rutas del panel.
Un intento fallido puede no dejar rastro, porque una petición redirigida que no fue más allá no escribe nada. Si su panel de usuario estaba expuesto a internet, considere debida una revisión completa, sin importar los registros.
Cronología
- 2026-09-08: La versión 1.12 del panel de usuario de CWP se publica, cerrando la omisión de redirección.
- 2026-10-31: La versión 1.30 de CWP se publica, con todas las correcciones del panel de usuario a la fecha.
- 2026-11-02: VulnCheck publica tres avisos acreditando a Valentin Lobstein (Chocapikk), y se publican los tres registros CVE.
Preguntas frecuentes
¿El panel de administración también está afectado?
Los tres avisos describen el panel de usuario, su flujo de inicio de sesión y sus módulos. El panel de administración del puerto 2030 es una interfaz separada. Los avisos de VulnCheck no afirman que las fallas lo alcancen, y el acceso administrativo tiene su propio camino de autenticación.
¿La omisión de redirección da ejecución de código por sí sola?
No. CVE-2026-73696 permite que una petición no autenticada alcance funciones del panel de usuario. La ejecución de código viene de la ruta de inclusión de CVE-2026-73695 o de las escrituras y comandos de shell de CVE-2026-73697, que la omisión vuelve alcanzables sin credenciales.
¿Por qué difieren las versiones corregidas entre los tres CVE?
La omisión de redirección se corrigió en la versión 1.12 del panel de usuario el 8 de septiembre de 2026, mientras que las correcciones de la traversal y de phpini_editor llegaron en la versión 1.16. Un servidor en 1.12 a 1.15 aún lleva dos de las tres fallas.
¿Cuál es el tamaño del despliegue?
El proveedor declara que más de 35,000 servidores ejecutan Control Web Panel, con una comunidad de 94,000 miembros. El producto apunta a servidores de alojamiento AlmaLinux, Rocky Linux, RHEL y CentOS.
¿Era auto-propagable?
Ninguna fuente afirma autopropagación. La cadena necesita el puerto del panel de usuario alcanzable, y nada en los avisos describe un panel que se propague solo a otros equipos.
Inventarie sus paneles de alojamiento con Ostorlab
El descubrimiento de superficie de ataque de Ostorlab inventaría los hosts expuestos a internet de sus rangos, para encontrar cada servidor que exponga un puerto de panel de alojamiento como 2082 o 2030 y comprobar su versión contra el aviso. Comience un escaneo con Ostorlab para saber qué paneles actualizar primero.
Referencias
- Aviso de VulnCheck para CVE-2026-73696, «Control Web Panel (CWP) < 1.12 Execution After Redirect in CWPUserIndex», publicado el 2 de noviembre de 2026, CVSS v4.0 9.3 Critical, CWE-698: https://www.vulncheck.com/advisories/control-web-panel-cwp-execution-after-redirect-in-cwpuserindex (comprobado el 2 de noviembre de 2026)
- Aviso de VulnCheck para CVE-2026-73695, «Control Web Panel (CWP) < 1.16 Path Traversal via services/users/index.php», publicado el 2 de noviembre de 2026, CVSS v4.0 8.7 High, CWE-98: https://www.vulncheck.com/advisories/control-web-panel-cwp-path-traversal-via-services-users-index-php (comprobado el 2 de noviembre de 2026)
- Aviso de VulnCheck para CVE-2026-73697, «Control Web Panel (CWP) < 1.16 File Write and Command Injection via phpini_editor», publicado el 2 de noviembre de 2026, CVSS v4.0 8.7 High, CWE-22 y CWE-78: https://www.vulncheck.com/advisories/control-web-panel-cwp-file-write-and-command-injection-via-phpini-editor (comprobado el 2 de noviembre de 2026)
- Registro CVE-2026-73696, entrada CNA de VulnCheck, publicada el 2 de noviembre de 2026: https://www.cve.org/CVERecord?id=CVE-2026-73696 (comprobado el 2 de noviembre de 2026)
- Registro CVE-2026-73695, entrada CNA de VulnCheck, publicada el 2 de noviembre de 2026: https://www.cve.org/CVERecord?id=CVE-2026-73695 (comprobado el 2 de noviembre de 2026)
- Registro CVE-2026-73697, entrada CNA de VulnCheck, publicada el 2 de noviembre de 2026: https://www.cve.org/CVERecord?id=CVE-2026-73697 (comprobado el 2 de noviembre de 2026)
- Registro de cambios de Control Web Panel, que registra la versión 1.12 del panel de usuario publicada el 8 de septiembre de 2026 y el historial hasta la versión 1.30 del 31 de octubre de 2026: https://control-webpanel.com/changelog (comprobado el 2 de noviembre de 2026)
- Página principal de Control Web Panel, que declara más de 35,000 servidores ejecutando CWP y 94,000 miembros de la comunidad: https://control-webpanel.com/ (comprobado el 2 de noviembre de 2026)
- Página de demostración de Control Web Panel, que documenta el panel de usuario en el puerto 2082 y el panel de administración en el 2030: https://control-webpanel.com/demo (comprobado el 2 de noviembre de 2026)
- Fuente JSON del catálogo KEV de CISA, buscada para los tres CVE sin coincidencias al 2 de noviembre de 2026: https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json (comprobado el 2 de noviembre de 2026)