Cómo parchear CVE-2026-41940 en cPanel paso a paso y verificar si el servidor fue comprometido
Comandos exactos para SysAdmins: desde la verificación de versión hasta la auditoría forense post-parche. Con las versiones corregidas, los paths relevantes y las comprobaciones de integridad necesarias.
Bloquear puertos y detener cpsrvd son medidas de contención temporales. La única corrección definitiva es actualizar cPanel a una versión con el fix aplicado. Este artículo cubre el proceso completo para servidores autoadministrados (VPS, dedicados). Si usas hosting gestionado, la responsabilidad del parche recae en el proveedor — pero necesitas su confirmación por escrito.
📋 Versiones afectadas y versiones con fix
| Rama cPanel | Última versión vulnerable | Primera versión con fix | Estado |
|---|---|---|---|
| 11.136.x (Release) | 11.136.0.4 y anteriores | 11.136.0.5 | ✓ Fix disponible |
| 11.134.x | 11.134.0.19 y anteriores | 11.134.0.20 | ✓ Fix disponible |
| 11.132.x | 11.132.0.28 y anteriores | 11.132.0.29 | ✓ Fix disponible |
| 11.126.x | 11.126.0.53 y anteriores | 11.126.0.54 | ✓ Fix disponible |
| 11.118.x | 11.118.0.62 y anteriores | 11.118.0.63 | ✓ Fix disponible |
| 11.110.x | 11.110.0.96 y anteriores | 11.110.0.97 | ✓ Fix disponible |
| 11.86.x (RELEASE) | 11.86.0.40 y anteriores | 11.86.0.41 | ✓ Fix disponible |
| WP Squared | 136.1.6 y anteriores | 136.1.7 | ✓ Fix disponible |
| Versiones anteriores a 11.40 | No soportadas oficialmente — sin parche | ⚠ Migrar urgente | |
🚀 Proceso completo de parcheo en 5 fases
Identifica la versión instalada y compárala con la tabla de versiones con fix. Este paso determina si ya estás parcheado o si necesitas actualizar.
# Método 1 — comando cpanel /usr/local/cpanel/cpanel -V # Salida esperada: 11.136.0.5 (u otra versión con fix) # Método 2 — archivo de versión cat /usr/local/cpanel/version # Método 3 — vía WHM API whmapi1 version # Busca "version" en el output JSON
El comando upcp es el actualizador oficial de cPanel. El flag --force obliga la actualización incluso si el servidor tiene las actualizaciones automáticas desactivadas. Este proceso puede tardar entre 5 y 20 minutos según la velocidad de red del servidor.
# Actualización forzada — no interrumpir el proceso /scripts/upcp --force # Para servidores con TIER específico configurado, verificar: cat /etc/cpupdate.conf # Asegúrate de que TIER no está fijado a una versión sin parche # Si la actualización falla por configuración, forzar tier de release: echo 'TIER=release' > /etc/cpupdate.conf /scripts/upcp --force
Tras aplicar el parche, cualquier sesión inyectada que permanezca activa en el sistema debe eliminarse. También es necesario reiniciar los servicios de cPanel para cargar la versión corregida.
# Purgar todos los archivos de sesión existentes rm -f /var/cpanel/sessions/raw/* rm -f /var/cpanel/sessions/cache/* # Reiniciar cpsrvd (el daemon principal de cPanel) /etc/init.d/cpanel restart # O en sistemas con systemd: systemctl restart cpanel # Verificar que el servicio está corriendo systemctl status cpanel pgrep -a cpsrvd # Verificar versión post-parche /usr/local/cpanel/cpanel -V # Debe mostrar una versión con fix (ej: 11.136.0.5)
cPanel publicó un script oficial de detección de IoCs para CVE-2026-41940. Independientemente de si el parche ya estaba aplicado, este script debe ejecutarse en todos los servidores que estuvieron expuestos durante la ventana del zero-day (23 Feb – 28 Abr 2026).
# Descargar y ejecutar el script oficial de detección curl -sSL https://raw.githubusercontent.com/CpanelInc/Security-CVE-2026-41940/main/detect.sh | bash # Verificación manual de IoCs adicionales: # 1. Buscar web shells PHP recientes find /home /var/www -name "*.php" -newer /var/cpanel/version -ls 2>/dev/null | grep -v ".cpanel" # 2. Cuentas root adicionales en /etc/passwd awk -F: '($3 == 0) {print $1}' /etc/passwd # 3. SSH authorized_keys modificadas find /home /root -name "authorized_keys" -newer /var/cpanel/version 2>/dev/null # 4. Archivos de ransomware find / -name "*.sorry" -type f 2>/dev/null
Una de las causas principales por las que muchos servidores quedaron sin parche durante la ventana del zero-day fue tener las actualizaciones automáticas desactivadas. cPanel permite configurar actualizaciones automáticas exclusivamente para parches de seguridad, sin aplicar releases mayores de forma automática.
# Ver configuración actual de updates cat /etc/cpupdate.conf # Activar actualizaciones automáticas en WHM vía API whmapi1 set_autossl_metadata autossl_provider=cPanelAutoSSL # O directamente en /etc/cpupdate.conf: UPDATES=daily TIER=release RPMUP=daily # Verificar que el cron de updates está activo crontab -l | grep upcp # Debe mostrar algo como: 30 2 * * * /scripts/upcp --cron > /dev/null 2>&1
🔒 Medidas de hardening adicionales post-parche
- Rotar las credenciales root y las de todos los revendedores WHM. Aunque no exista evidencia de compromiso, si el servidor estuvo expuesto durante la ventana del zero-day, las credenciales deben tratarse como potencialmente comprometidas y rotarse en su totalidad.
- Revisar e invalidar todos los API tokens de WHM. En WHM > Setup Remote Access Key, genera una nueva clave y revoca la anterior.
- Restringir el acceso a los puertos de cPanel/WHM por IP en el firewall. Si solo un rango de IPs conocido debe acceder al panel, implementa una lista blanca de IPs para los puertos 2083 y 2087 en el firewall del host.
- Habilitar 2FA en todas las cuentas WHM/cPanel. Con el vector actual parchado, el segundo factor de autenticación es una capa defensiva efectiva frente a futuros exploits de credenciales.
- Configurar logging centralizado. Los logs de cPanel en
/usr/local/cpanel/logs/deben enviarse a un SIEM centralizado externo al servidor, de modo que un compromiso no elimine la evidencia forense. - Evaluar ModSecurity / Imunify360. Estas capas de WAF pueden detectar y bloquear el patrón de inyección CRLF antes de que llegue al daemon, proporcionando una capa adicional de defensa en profundidad para futuros CVEs.
📚 Fuentes
- CVE-2026-41940 — Security Advisory oficial cPanel— cPanel Support
- CVE-2026-41940 Explained — patch commands y verificación— Picus Security
- cPanel Vulnerability 2026: Patch CVE-2026-41940 Now— JazzCyberShield
- CVE-2026-41940 — versiones afectadas y fix— SOC Prime
- WP Squared Security Changelog— cPanel / WP Squared Docs