Fuente de datos: Este análisis proviene del feed en tiempo real de CVE Sentry — plataforma de threat intelligence automatizada para entornos Microsoft Azure y M365.


Resumen ejecutivo

CampoValor
CVECVE-2026-41091
CVSS7.8 (HIGH) — AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ExploitRedSun (familia BlueHammer)
InvestigadorChaos Eclipse
ParcheMicrosoft Malware Protection Engine v1.1.26040.8
Afecta tambiénSystem Center Endpoint Protection · Microsoft Security Essentials
CISA KEV✅ Confirmado — deadline 3 de junio de 2026
ExplotaciónActiva en la wild

¿Qué ocurrió?

El 20 de mayo de 2026, Microsoft liberó una actualización fuera de banda para el Malware Protection Engine de Microsoft Defender. La vulnerabilidad, identificada como CVE-2026-41091, es un zero-day de escalación de privilegios activamente explotado en ataques reales.

El fallo está en cómo el engine resuelve symlinks y directory junctions antes de realizar operaciones privilegiadas sobre archivos (cuarentena, eliminación, acceso). El investigador Chaos Eclipse había revelado públicamente la clase de vulnerabilidades BlueHammer aproximadamente un mes antes. La variante RedSun es la que explota específicamente este comportamiento de link-following.

CISA agregó CVE-2026-41091 al catálogo de Known Exploited Vulnerabilities y estableció el 3 de junio de 2026 como fecha límite obligatoria de remediación para agencias federales FCEB.


¿Cómo funciona el ataque?

El Malware Protection Engine corre como SYSTEM — el nivel de privilegio más alto en Windows. Cuando realiza operaciones sobre archivos durante un escaneo, sigue enlaces simbólicos sin verificar que el destino sea seguro.

Un atacante con acceso local estándar (sin privilegios de administrador) puede:

  1. Identificar rutas predecibles que el engine accederá durante un escaneo
  2. Crear un symlink o directory junction malicioso en esa ruta
  3. Esperar a que el engine siga el enlace como SYSTEM
  4. Redirigir la operación privilegiada a un archivo objetivo del atacante

El resultado: escritura, modificación o ejecución de archivos como SYSTEM sin ninguna interacción del usuario ni privilegios previos de administrador.

1
2
3
4
5
[usuario estándar]
    └─→ crea junction/symlink en ruta escaneable
         └─→ MsMpEng.exe (SYSTEM) sigue el symlink
              └─→ operación privilegiada en target del atacante
                   └─→ SYSTEM shell / persistencia

MITRE ATT&CK

TécnicaNombreTáctica
T1548Abuse Elevation Control MechanismPrivilege Escalation
T1574Hijack Execution FlowDefense Evasion / Persistence
T1068Exploitation for Privilege EscalationPrivilege Escalation
T1055Process Injection (post-escalación)Defense Evasion
T1003.001LSASS Memory Dump (post-SYSTEM)Credential Access

KQL — Hunting en Microsoft Defender XDR

Detección de procesos hijo anómalos de MsMpEng.exe

1
2
3
4
5
6
7
8
DeviceProcessEvents
| where Timestamp > ago(7d)
| where ParentProcessName == "MsMpEng.exe"
| where FileName in ("cmd.exe", "powershell.exe", "wscript.exe", "cscript.exe", "mshta.exe")
| where ProcessIntegrityLevel == "System"
| project Timestamp, DeviceName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, AccountName
| order by Timestamp desc
1
2
3
4
5
6
DeviceEvents
| where Timestamp > ago(7d)
| where ActionType == "CreateSymbolicLink" or ActionType == "CreateJunction"
| where FolderPath startswith @"C:\Users\" or FolderPath startswith @"C:\Temp"
| project Timestamp, DeviceName, AccountName, FolderPath, AdditionalFields
| order by Timestamp desc

Detección en Microsoft Sentinel

1
2
3
4
5
6
7
SecurityEvent
| where TimeGenerated > ago(7d)
| where EventID == 4688  // Process creation
| where ParentProcessName endswith "MsMpEng.exe"
| where NewProcessName has_any ("cmd.exe", "powershell.exe")
| where SubjectLogonId != "0x3e7"  // Excluir LocalSystem legítimo
| project TimeGenerated, Computer, Account, NewProcessName, CommandLine

Playbook SOC

1. Verificación del parche (< 1 hora)

1
2
3
4
# Verificar versión del engine en el endpoint
Get-MpComputerStatus | Select-Object AMEngineVersion, AMProductVersion, RealTimeProtectionEnabled

# Debe mostrar: AMEngineVersion >= 1.1.26040.8

2. Forzar actualización si está desactualizado

1
2
Update-MpSignature -UpdateSource MicrosoftUpdateServer
Get-MpComputerStatus | Select-Object AMEngineVersion

3. Verificación masiva via Intune/MDE

En Microsoft Defender for Endpoint Portal:

  • Device Inventory → filtrar por Sensor health: Needs attention
  • Ejecutar Live Response: run Get-MpComputerStatus
  • Exportar reporte de versiones del engine

4. Habilitación de Tamper Protection

1
2
3
4
5
# Verificar estado actual
Get-MpComputerStatus | Select-Object IsTamperProtected

# Habilitar via PowerShell (requiere admin)
Set-MpPreference -DisableTamperProtection $false

5. Hunting activo

Ejecutar las KQL queries del apartado anterior en:

  • Microsoft Defender XDR → Advanced Hunting
  • Microsoft Sentinel → Logs

Remediación

PrioridadAcciónPlazo
🔴 CRÍTICAVerificar AMEngineVersion ≥ 1.1.26040.8 en todos los endpointsInmediato
🔴 CRÍTICAForzar update en sistemas con Windows Update restringido48 horas
🟠 ALTAHabilitar Tamper Protection enterprise-wide48 horas
🟡 MEDIAEjecutar hunting KQL para detectar actividad RedSunEsta semana
🟡 MEDIARestringir permisos de escritura en directorios escaneables por DefenderEsta semana

Referencias