Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-41940-analysis — Análisis técnico de la omisión de autenticación de cPanel/WHM | Kitploit
Herramientas/GitHubGitHub/oguz-kagan-akar/cve-2026-41940-analysis
Autenticación y AutorizaciónAnálisis de VulnerabilidadesExplotaciónSeguridad WebInteligencia de AmenazasPapers e InvestigaciónAprendizaje y EducaciónRespuesta a Incidentes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
oguz-kagan-akar/cve-2026-41940-analysis

CVE-2026-41940-analysis

Análisis técnico de la omisión de autenticación de cPanel/WHM

Ver Repositorio
54hace 3 mesesAún no revisado

CVE-2026-41940 — Bypass de Root en Pre-Autenticación en cPanel y WHM mediante Inyección CRLF en Archivos de Sesión

Un análisis técnico profundo orientado a defensores


1. Resumen ejecutivo

CampoValor
ID CVECVE-2026-41940
CVSS v3.19.8 (Crítico) — Red / Complejidad Baja / Sin Privilegios / Sin Interacción del Usuario
Clase de vulnerabilidadInyección CRLF en pre-autenticación → envenenamiento de archivos de sesión → bypass de autenticación
CWECWE-93 (Neutralización incorrecta de secuencias CRLF), posiblemente más cercana a CWE-117 (Neutralización incorrecta de salida para registros/archivos), ya que el CRLF inyectado termina en un archivo de sesión en disco en lugar de en una cabecera de respuesta HTTP
Productos afectadoscPanel, WHM (WebHost Manager), WP Squared
ImpactoAdquisición remota y no autenticada de una sesión administrativa root con todos los privilegios en WHM
Fecha de divulgación28 de abril de 2026 (aviso de seguridad de cPanel)
Asignación de CVE29 de abril de 2026
Explotación in-the-wildObservada ya el 23 de febrero de 2026, según el proveedor de hosting KnownHost — aproximadamente dos meses antes de que se distribuyera el parche
CISA KEVAñadido poco después de la divulgación
Exposición estimada~1,5 millones de instancias de cPanel expuestas a Internet (telemetría de Shodan citada por Rapid7); cPanel posee una cuota estimada del 94 % del mercado de paneles de control web (W3Techs)
Solución alternativaNinguna — parchear es la única remediación completa

cPanel y WHM son el software de panel de control dominante para el alojamiento web compartido y de reventa. cPanel es la interfaz de cuentas orientada al cliente; WHM es la interfaz administrativa de nivel root utilizada por los proveedores de hosting y los propietarios de servidores. Ambos son servidos por el mismo demonio Perl, cpsrvd, que escucha en puertos emparejados para cada superficie (cPanel: 2082/2083, WHM: 2086/2087, Webmail: 2095/2096).

CVE-2026-41940 permite a un atacante sin credenciales de ningún tipo manipular el estado de la sesión en disco antes de que se produzca la autenticación, haciendo que cpsrvd reinterprete posteriormente datos proporcionados por el atacante como atributos de sesión legítimos, completamente autenticados y con privilegios root. El resultado es el compromiso total del plano de gestión de todos los sitios web y cuentas alojados en el servidor — no es un problema de un solo inquilino, sino de todo el servidor, de todo el proveedor y, en conjunto, de toda la industria, dada la concentración de mercado de cPanel.


2. Por qué esta vulnerabilidad es importante más allá de su puntuación CVSS

Una puntuación CVSS de 9.8 es lo bastante común como para volverse anestesiante de leer. Tres factores estructurales hacen que CVE-2026-41940 sea inusualmente grave en la práctica:

  1. El radio de explosión es todo el servidor, no una cuenta. El compromiso de WHM es un compromiso de root. Cada cuenta de cliente, cada base de datos, cada clave privada TLS, cada copia de seguridad y cada zona DNS de ese servidor quedan inmediatamente dentro del alcance.

  2. Fue un verdadero zero-day durante aproximadamente dos meses. La telemetría de KnownHost sitúa la explotación inicial alrededor del 23 de febrero de 2026, mucho antes del parche del 28 de abril. Cualquier organización que estuviera expuesta a Internet durante esa ventana debería asumir que el compromiso es posible, no meramente teórico, y realizar una evaluación retrospectiva de compromiso en lugar de confiar en «parcheamos, así que estamos bien».

  3. La mayoría de las organizaciones afectadas no pueden parchear esto por sí mismas. cPanel es implementado normalmente por los proveedores de hosting en nombre de los inquilinos. Los clientes finales no tienen control a nivel de código sobre la corrección y dependen por completo del ritmo de aplicación de parches de su proveedor — que es exactamente la razón por la que varios hosts importantes (Namecheap, KnownHost, HostPapa, InMotion) optaron por bloquear preventivamente el tráfico entrante a los puertos afectados en lugar de esperar a que cada inquilino actualizara.

Este tercer punto merece atención. cPanel controla un estimado del 94 % del mercado de paneles de control. Un único fallo lógico en el código de gestión de sesiones de un proveedor se convirtió, durante un período de semanas, en una vulnerabilidad de acceso root de facto en toda la industria. Ese riesgo de concentración es un tema recurrente que vale la pena interiorizar independientemente de este CVE concreto.


3. Contexto arquitectónico

3.1 cpsrvd y el modelo de puertos

cpsrvd es un demonio Perl de larga duración que sirve las tres superficies de producto de cPanel desde el mismo binario y, de forma crítica, desde el mismo camino de código de gestión de sesiones:

Par de puertosSuperficieAudiencia
2082 / 2083cPanelClientes finales (por cuenta)
2086 / 2087WHMAdministradores root/revendedores
2095 / 2096WebmailUsuarios de correo

Dado que las tres superficies comparten la lógica de sesión vulnerable, la exposición de cualquiera de estos seis puertos es suficiente para la explotación: no existe entre ellas una superficie «menos expuesta» de forma significativa. En entornos bien segmentados, ninguno de estos puertos debería ser directamente accesible desde Internet en primer lugar; en la práctica, la conveniencia de gestión, los acuerdos de hosting híbrido y la deriva de los firewalls hicieron que muchos lo fueran.

3.2 La representación dual de la sesión

Las sesiones de cPanel se persisten en dos representaciones paralelas en disco, aparentemente por razones de rendimiento:

  1. Archivo de sesión sin procesar (/var/cpanel/sessions/raw/<session-id>) — un formato de texto plano key=value orientado a líneas, un atributo por línea.
  2. Caché JSON (/var/cpanel/sessions/cache/<session-id>, conceptualmente) — un documento JSON estructurado, leído de forma preferente por la ruta normal de peticiones porque es más barato de analizar.

En el funcionamiento ordinario, la caché JSON es la autoritativa y el archivo sin procesar es un respaldo de durabilidad. La vulnerabilidad existe precisamente porque hay circunstancias en las que el archivo sin procesar se vuelve a analizar y se utiliza para regenerar la caché JSON, y los dos formatos discrepan sobre lo que significa un carácter de nueva línea incrustado.


4. Causa raíz: cuatro fallos independientes que se encadenan

CVE-2026-41940 no es un único error. Es el producto de cuatro debilidades separadas, cada una individualmente plausible como decisión de diseño aislada, que se alinean para producir un bypass completo de autenticación. Esta estructura de «queso suizo» es instructiva para defensores y revisores de código mucho más allá de este producto específico.

4.1 Capa 1 — Saneamiento impuesto por convención, no por la propia ruta de escritura

El subsistema de sesiones de cPanel ya disponía de una rutina de saneamiento responsable de eliminar los caracteres peligrosos — retornos de carro, saltos de línea y = — de los valores de sesión antes de que se persistieran. El problema es desde dónde se invocaba esa rutina: vivía dentro de las funciones wrapper de nivel superior (la API de «crear»/«modificar» sesión), y era responsabilidad del llamador pasar por esos wrappers en lugar de escribir los datos de sesión directamente.

Descargar herramienta