Alerta

Logo de Ivanti

Alerta 2026-133 Cadena de vulnerabilidades zero-day explotada activamente en Ivanti Connect Secure permite ejecución remota como root sin autenticación

Producto(s) afectado(s): 

ProductoVersiones afectadasVersión corregida
Ivanti Connect Secure, rama 25.1.1.x y anteriores25.1.1.2 y anteriores (CVE-2026-104935: 25.1.1.1 y anteriores)25.1.1.3
Ivanti Connect Secure, ramas 25.1.2.x y 25.1.3.x25.1.2.2 y anteriores (CVE-2026-104935)25.1.3.1
Ivanti Connect Secure, rama 22.822.8R2.5 y anteriores (CVE-2026-104935: 22.8R2.4 y anteriores)22.8R2.6

Las versiones 22.7R2.14 y anteriores no están afectadas por CVE-2026-104935, y no se ha informado que Ivanti Policy Secure ni los gateways de Neurons for ZTA estén afectados.

Descripción

Se ha reportado una cadena de vulnerabilidades explotada activamente en Ivanti Connect Secure, la solución de VPN SSL de Ivanti, que permite a un atacante remoto sin credenciales ejecutar comandos como root en el equipo. La cadena combina tres vulnerabilidades, etiquetadas como CVE-2026-104935, CVE-2026-111357 y CVE-2026-118527, que se encuentran en el catálogo de vulnerabilidades explotadas conocidas (KEV) de la agencia de ciberseguridad de EE. UU. Por separado, ninguna supera la severidad alta; encadenadas, dan control total del equipo, por lo que este boletín se clasifica con severidad CRÍTICA.

CVETipoCVSS v3.1CorrecciónIngreso al KEV
CVE-2026-104935Bypass de autenticación por suplantación que permite ejecutar comandos sin autenticación8.613/10/202613/10/2026
CVE-2026-111357Escalada de privilegios a root (servicio dsinvoked y datos de configuración DSCache)8.8 según el proveedor (7.0 según NVD)29/10/202630/10/2026
CVE-2026-118527Generación de identificadores predecibles que permite subir archivos con contenido del atacante a una ruta conocida del disco4.329/10/202630/10/2026

Investigadores señalan que un actor de amenazas no identificado explota la cadena desde el 03/10/2026 y atribuyen la actividad, con baja confianza, a una motivación criminal. El primer equipo comprometido que se analizó tenía instalada la versión más reciente disponible en ese momento (22.8R2.4). El proveedor indicó que tiene conocimiento de explotación contra un número limitado de clientes, y una fuente gubernamental considera muy probable que la explotación continúe.

La cadena funciona en tres pasos:

  • El atacante envía peticiones a la página pública de inicio de sesión (/dana-na/auth/url_default/welcome.cgi) con un encabezado X-DSCGI-PATH que apunta a otro script interno. El equipo decide si permite la petición según la URL, pero la dirige según el encabezado, lo que da acceso a scripts protegidos sin autenticarse.
  • A través del manejador de cargas wu.cgi, el atacante sube un archivo que se escribe en una ruta predecible antes de validarse y lo ejecuta aprovechando una condición de carrera. Así obtiene ejecución de código con el usuario del servidor web.
  • Por último, modifica en memoria los datos de configuración en los que confía el servicio privilegiado dsinvoked para que una tarea de mantenimiento ejecute su script como root, y después restaura todo a su estado original.

El proveedor corrigió CVE-2026-104935 el 13/10, pero esa corrección no cubría la escalada de privilegios, que se resolvió el 29/10 junto con CVE-2026-118527. Un equipo actualizado solo con el parche del 13/10 en las ramas 25.1.1.x (25.1.1.2) o 22.8 (22.8R2.5) sigue expuesto a la escalada a root. La agencia de ciberseguridad de EE. UU. fijó a las agencias federales un plazo hasta el 16/10/2026 para CVE-2026-104935 y hasta el 02/11/2026 para CVE-2026-111357, ambas con triage forense obligatorio, y hasta el 13/11/2026 para CVE-2026-118527.

El atacante no instala webshells ni puertas traseras: repite la cadena completa por cada comando y recibe los resultados en la propia respuesta HTTPS. Según investigadores, una vez dentro el atacante:

  • Extrajo las credenciales almacenadas en el equipo, como las credenciales de dominio que este usa para LDAP.
  • Usó la cuenta de servicio de Active Directory configurada en la VPN para buscar contraseñas de administrador local (LAPS), claves de recuperación de BitLocker y atributos con contraseñas (userPassword, unixUserPassword).
  • Usó una herramienta propia para Kerberoasting y prueba de credenciales, y realizó password spraying contra cuentas de Active Directory.
  • Capturó tráfico desde el equipo para obtener credenciales en claro y hashes NTLM, y revisó los registros de autenticación para identificar usuarios válidos.
  • Recopiló la configuración del equipo y metadatos de Active Directory, y realizó reconocimiento DNS y local.
  • Borró selectivamente entradas de los registros de depuración y de auditoría, y eliminó sus propios archivos.

Como los cambios ocurren solo en memoria y la configuración se restaura, la herramienta de verificación de integridad del proveedor (Integrity Checker Tool, ICT) puede no detectar el compromiso. No se ha reportado un exploit público ni el uso de esta cadena en campañas de ransomware.

Mitigación

Como recomendaciones generales, mientras se aplica la actualización y en los equipos que estuvieron expuestos:

  • Bloquear 108.165.147[.]64 y buscar conexiones históricas con esa IP.
  • Monitorear el volumen de peticiones a welcome.cgi con el encabezado X-DSCGI-PATH y revisar el directorio /tmp/ del equipo.
  • No considerar suficiente un resultado limpio del ICT: confirmar o descartar el compromiso requiere análisis forense de memoria y de red.
  • Limitar al mínimo los privilegios de la cuenta de servicio de Active Directory que usa la VPN y revisar sus consultas LDAP a los atributos ms-Mcs-AdmPwd, msLAPS-Password y msFVE-RecoveryInformation.
  • Revisar en Active Directory solicitudes masivas de tickets de servicio con RC4 (Kerberoasting) e intentos de autenticación fallidos masivos originados en la IP interna del equipo VPN, así como intentos de movimiento lateral desde ese equipo.
  • Preservar la evidencia (imagen de memoria y disco, volcados de memoria y registros) antes de reiniciar o actualizar un equipo sospechoso.

Indicadores de compromiso

El proveedor indicó que los indicadores de compromiso disponibles son limitados. Investigadores publicaron los siguientes:

Red

  • IP utilizada para la explotación: 108.165.147[.]64.
  • Gran número de peticiones a /dana-na/auth/url_default/welcome.cgi con encabezados como X-DSCGI-PATH: /home/webserver/htdocs/dana/fb/smb/wu.cgi o X-DSCGI-PATH: /home/runtime/tmp/<MD5(nombre de archivo)>.
  • Cualquier diferencia entre la ruta de la URL y el valor de X-DSCGI-PATH, ya que podrían usarse otras rutas.
  • Conexiones originadas en el equipo VPN hacia controladores de dominio u otros sistemas internos, y password spraying desde su IP interna.

Archivos y rutas en el equipo

  • /tmp/ml.py, /tmp/rq5.py, /tmp/mk.py, /tmp/rr.py, /tmp/pu.txt, /tmp/sp_out.txt, /tmp/spray_hits.json, sp_run.py y archivos JSON comprimidos con zlib y codificados en Base64 en /tmp/.
  • Directorio oculto /data/.icscap/ (/home/root/data/.icscap/) con el ejecutable dsstatmond (un tcpdump renombrado), capturas rotativas cap0 a cap7 y el script h.py, ejecutado con /home/venv3/bin/python3.6.
  • /home/runtime/tmp/ics-root-run-inband-*.pl y /home/runtime/tmp/ics-root-result-inband-*.
  • Volcados de memoria (core dumps) generados durante la explotación.

Procesos y configuración

  • Proceso dsstatmond capturando tráfico LDAP, HTTP, FTP y telnet desde un directorio oculto.
  • Entrada ScriptUtil/updateOpswatSDK de DSCache que apunte a un programa distinto de /home/bin/updateOpswatSDK.pl.
  • Huecos o recortes recientes en /home/runtime/dlogs/debuglog y /var/log/audit/audit.log.

Hash (SHA-256)

  • Implementación en Python del exploit de escalada de privilegios: 25b95f47359c327e3a5ae5ac5cd147f8d9afd98092faf136822ee287e25e3dc8

Investigadores publicaron además reglas YARA para detectar los encabezados de la petición en archivos o en memoria (exploit_log_ivanti_rce) y el exploit en Python (exploit_py_ivanti_oct26).

Solución

La solución consiste en actualizar cada equipo a la versión corregida de su rama:

  • Rama 25.1.1.x: 25.1.1.3.
  • Ramas 25.1.2.x y 25.1.3.x: 25.1.3.1 (la 25.1.3.0 corrige CVE-2026-104935, pero se recomienda la 25.1.3.1).
  • Rama 22.8: 22.8R2.6.

Los equipos que solo recibieron la corrección del 13/10 deben actualizarse de nuevo. La rama 22.8 llega al fin de su vida útil el 31/01/2027 y el proveedor recomienda migrar a la rama 25.x.

Si se sospecha un compromiso, se recomienda seguir el procedimiento de recuperación indicado por la agencia de ciberseguridad de EE. UU.:

  1. Respaldar la configuración del equipo.
  2. Restablecer el equipo a valores de fábrica y actualizarlo a la versión corregida. En equipos virtuales o en la nube, reconstruir la instancia.
  3. Restaurar la configuración desde el respaldo.
  4. Restablecer las contraseñas de todas las cuentas (de dominio, de administrador y locales), revocar y volver a emitir los certificados almacenados y restablecer las claves de API y las credenciales del servidor de licencias.

Además, si se confirma el compromiso, se recomienda rotar la cuenta de servicio de Active Directory y LDAP configurada en la VPN, las contraseñas LAPS y las claves de recuperación de BitLocker que pudieran haberse consultado, y revisar el resto de la red en busca de movimiento lateral.

Para info sobre cómo actualizar, visita el siguiente enlace:

https://hub.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-CVE-2026-104935

Información adicional: