Seguridad

SolarWinds ARM CVE-2026-28326: clave hardcodeada que abre RCE sin autenticación

TL;DR — Lo que vas a tener al final

  • Tiempo de setup: 30 minutos a 2 horas dependiendo de la complejidad del entorno.
  • Requisitos: Acceso root, Linux moderno, conexión a internet para descargar dependencias.
  • Resultado: Servicio funcional y estable, documentado paso a paso.
  • Troubleshooting: Logs estándar en /var/log/, comandos de verificación al final de cada sección.

Por qué importa hoy este parche de SolarWinds

El 17 de septiembre de 2026 SolarWinds publicó un aviso de seguridad para Access Rights Manager (ARM), su herramienta de gestión de identidades sobre Active Directory, Exchange y Entra ID. La vulnerabilidad, registrada como CVE-2026-28326, tiene CVSS 8.8 sobre 10 y permite ejecución remota de código sin autenticación gracias a una clave criptográfica hardcodeada dentro del producto. Si en tu entorno corre ARM — o si lo usan como proxy hacia tu Active Directory desde el equipo de identidad — tienes que tomar el parche en serio y revisar la cadena de exposición.

No es un parche cosmético. La cadena vectorial AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H resume el peor caso: el atacante necesita únicamente alcanzabilidad de red adyacente (vector A en AV), ningún privilegio previo y ninguna interacción del usuario para terminar con confidencialidad, integridad y disponibilidad comprometidas en el servidor ARM. Una vez dentro, ARM normalmente tiene permisos elevados sobre el dominio — cuentas de servicio para enumerar grupos y miembros de Active Directory, mover objetos en AD, resetear contraseñas — por lo que un compromiso aquí es un pivote hacia toda la identidad del directorio.

Qué es exactamente la vulnerabilidad

El aviso clasifica el fallo bajo CWE-321 (Use of Hard-coded Cryptographic Key). En palabras simples: ARM trae una clave criptográfica estática embebida en el binario o en la configuración por defecto, y esa clave se usa en algún paso crítico de su pipeline interno. Cuando una clave criptográfica es estática y vive en el código, un atacante con acceso local al archivo, al backup, al repositorio de imágenes, o — peor — a un endpoint remoto que la use tal cual, puede impersonar al servicio, firmar mensajes válidos, o descifrar tráfico que debería estar protegido.

El reporte vino de Kai Huang, investigador de Armadin, y SolarWinds confirma que el problema está parcheado en ARM 2026.2.1, que reemplaza la clave estática por material criptográfico generado en instalación o por defecto más robusto. La compañía no reportó explotación activa en producción al momento del advisory, pero el aviso urge a actualizar porque la cadena es trivial de armar una vez que se conoce la clave y alguien la difunda. Cuando aparece una CVE de clave hardcodeada en un producto que toca Active Directory, el reloj empieza a correr: investigadores y atacantes replican el patrón en horas.

Quién está afectado y a qué versiones apuntar

El aviso de SolarWinds declara que la vulnerabilidad afecta a ARM 2026.2 y todas las versiones previas. Si tu servidor ARM está en cualquier rama anterior a 2026.2.1, considéralo vulnerable. La rama 2026.2 es relativamente nueva (anunciada en THWACK el 3 de mayo de 2026), por lo que muchos deployments la están corriendo hace apenas tres o cuatro meses — incluyendo, probablemente, los tuyos.

Antes de empezar a parchear, valida qué tienes instalado. En servidores Windows donde corre ARM puedes chequea la versión desde el menú Help > About del ARM Web Client, o desde la consola de Rich Client. En deployments con arquitectura distribuida (servidor principal + colectores), tienes que verificar la versión en cada colector también: no alcanza con parchar el servidor central si los colectores siguen corriendo binarios viejos y reenvían datos firmados con la clave rota.

# PowerShell — verificar versión de ARM instalada en el host
Get-ItemProperty 'HKLM:SOFTWAREWOW6432NodeSolarWindsAccess Rights Manager*' |
  Select-Object -Property DisplayName, DisplayVersion, Publisher |
  Format-Table -AutoSize
# Versión segura: DisplayVersion >= 2026.2.1
# Versión vulnerable: cualquier 2026.2.x anterior a 2026.2.1, o 2026.1.x, 2025.x, 2023.x

Si tienes colectores distribuidos, repetí el cmdlet en cada host o centralizá la consulta con Invoke-Command apuntando a la lista de servidores ARM. Esto evita el escenario clásico donde el servidor central se parchea pero un colector olvidado sigue sirviendo como vector.

Cómo obtener el parche 2026.2.1

El parche está disponible en el Customer Portal de SolarWinds y como release notes oficial en la documentation center. La URL del advisory directo es https://www.solarwinds.com/trust-center/security-advisories/CVE-2026-28326. Antes de aplicarlo en producción, leé las release notes de ARM 2026.2.1 — la actualización mantiene el inventario de versiones, por lo que si tienes scripts que parsean el campo About o asumen un orden específico de endpoints en la Web API, conviene validar que el upgrade no rompa nada.

El flujo recomendado para minimizar ventanas de exposición es:

  1. Backup del servidor ARM y de su base de datos antes de tocar nada. ARM guarda estado de escaneos, configuración de collectors, mapeos de recursos AD y políticas de recertificación — perder esto te tira el deployment a atrás varios días.
  2. Aislar el servidor ARM de la red de producción mientras parchas, si tu arquitectura lo permite. ARM sigue funcionando para reporting histórico; el aislamiento es solo para evitar que un atacante que ya conozca la clave vieja explote durante la ventana de upgrade.
  3. Aplicar el upgrade en un servidor de staging primero, validar que los escaneos corren, que la Web API responde, y que los colectores vuelven a registrarse correctamente.
  4. Aplicar en producción en horario de mantenimiento, idealmente con rollback plan documentado.
  5. Rotar credenciales de servicio de ARM hacia Active Directory después del upgrade, como medida de defensa en profundidad. La clave hardcodeada no implica necesariamente compromiso de la cuenta de servicio, pero si el atacante usó el bug para pivotar hacia AD antes de que parchearas, rotar la contraseña cierra esa puerta.
# Verificar que el servidor ARM está hablando 2026.2.1 después del upgrade
Invoke-Command -ComputerName arm-server-01 -ScriptBlock {
  $svc = Get-Service -Name 'Access Rights Manager' -ErrorAction SilentlyContinue
  $reg = Get-ItemProperty 'HKLM:SOFTWAREWOW6432NodeSolarWindsAccess Rights Manager' -ErrorAction SilentlyContinue
  [PSCustomObject]@{
    Hostname       = $env:COMPUTERNAME
    ServiceStatus  = $svc.Status
    ServiceVersion = $svc.DisplayName
    InstalledVer   = $reg.DisplayVersion
    IsPatched      = ([version]$reg.DisplayVersion -ge [version]'2026.2.1')
  }
}

Qué cambia en ARM 2026.2 más allá del parche de seguridad

El parche 2026.2.1 hereda los cambios funcionales que llegaron con ARM 2026.2 (publicado el 3 de mayo de 2026). Si vienes de 2025.4 o anterior, además del fix de la CVE tienes varias mejoras que afectan cómo interactuá tu equipo con la herramienta:

  • Active Directory Scans desde ARM Web Client: ya no hace falta saltar al Rich Client para correr escaneos AD. Esto cierra la paridad entre Rich Client y Web Client para AD — si tu equipo estaba postergando la migración completa al Web Client por esta dependencia, 2026.2.1 es la rama que lo habilita.
  • Web API expandida con 300+ endpoints nuevos: la documentación de la Web API no se refrescaba desde ARM 2020.2. La versión 2026.2 publica surface area nueva para Order Management, Workflows, Recertification, Resources, Alerts, Profiles, Timeline, Cockpit y Analyze. Si construiste integraciones contra endpoints no documentados, o si postergabas integraciones porque los docs estaban viejos, este es el momento de revisar.
  • Exchange Online y Logga improvements: soporte del cmdlet Search-UnifiedAuditLog en Exchange Online Logga y filter action handling en Exchange Logga. Alineado con la dirección de Microsoft en audit logs.
  • RabbitMQ 4.0.3: el broker de mensajes interno se actualizó de la rama 3.x a 4.0.3, lo que también cierra CVEs de la propia RabbitMQ. Esto importa si tienes integraciones custom que asumían el protocolo de la rama vieja.

Atención: Windows Server 2012 y anteriores ya no funcionan

El aviso de ARM 2026.2 incluye un llamado de atención importante: el servidor ARM y los colectores ya no funcionan sobre Windows Server 2012 o anterior por los nuevos cipher suites TLS requeridos. Los system requirements piden Windows Server 2016+ desde 2023, pero algunas deployments en 2012 seguían funcionando hasta ARM 2025.2. Si venís de un upgrade viejo y todavía tienes ARM corriendo sobre 2012, este es el momento de migrar el sistema operativo antes de aplicar 2026.2.1, no después.

revisa la KB article TLS protocol and cipher changes in ARM 2025.4.0 and later en el portal de soporte antes de empezar. Los cipher suites que ARM 2026.2+ requiere pueden no estar habilitados por defecto en algunas builds de Windows Server 2016 — hay que validar con un escaneo TLS desde un cliente antes de declararlo compatible.

End of life: la rama 2023.2.x ya está en fase final

SolarWinds anunció end of life para la rama ARM 2023.2.x el 21 de abril de 2026. El cronograma:

  • EoE (End of Engineering): 22 de mayo de 2026. Service releases, bug fixes, workarounds y service packs ya no se desarrollan activamente para 2023.2.x.
  • EoL (End of Life): 22 de mayo de 2027. SolarWinds deja de dar soporte. Después de esa fecha, cualquier vulnerabilidad nueva en 2023.2.x queda sin parche oficial.

Si todavía corres 2023.2.x — cualquier subversión — y dependés de SolarWinds para patches, ya estás en zona caliente. La CVE-2026-28326 no afecta a 2023.2.x específicamente (el aviso dice 2026.2 y previas), pero cualquier otra CVE futura que sí aplique a esa rama no va a recibir fix. Migrar a 2026.2.1 cierra las dos cosas: el fix de la clave hardcodeada y la salida del EoE.

Cómo defenderte de claves hardcodeadas en tu propio stack

El patrón CWE-321 — claves criptográficas quemadas en binarios — es más común de lo que debería. Aparece en appliances de red, herramientas de monitoring, scripts de deployment, plugins de CI, e incluso en microservicios cloud-native donde alguien commitea un secreto a un Dockerfile. Si ARM te mordió por esto, vale la pena auditar tu propio código:

  1. Variables de entorno y secret managers: ninguna clave criptográfica de larga duración debería vivir en el código fuente. usa AWS Secrets Manager, HashiCorp Vault, Azure Key Vault, o el equivalente que tenga tu stack. ARM probablemente hacía esto por compatibilidad con deployments air-gapped donde el secret manager no estaba disponible; tu caso probablemente sí tiene uno.
  2. Rotación periódica: incluso claves generadas en instalación deberían rotarse en un ciclo definido. Una clave estática por cinco años es una bomba de tiempo esperando CVE-321.
  3. Detección en CI: tools como gitleaks, trufflehog o el propio detect-secrets de Yelp escanean repositorios buscando patrones de claves. Integralos como gate obligatorio en tu pipeline — un PR con un secreto embebido debería romper el build.
  4. Auditoría de binarios de terceros: si tu stack depende de appliances o appliances virtuales, asumí que alguna clave hardcodeada existe y segmentá el acceso de red accordingly. ARM siendo un producto comercial con décadas de historia no fue excepción.
# Auditoría rápida con gitleaks en un repo local
gitleaks detect --source . --report-path gitleaks-report.json --no-git
# Output esperado: si hay hits, el comando devuelve exit code != 0
# y lista el archivo + línea + regla que matcheó

Cuándo NO actualizar de inmediato

Antes de declarar que tienes que aplicar 2026.2.1 hoy mismo, considera los casos donde el upgrade puede romperse:

  • Dependencias en RabbitMQ 3.x: si tienes integraciones custom que asumen la versión vieja del broker interno, tienes que validarlas. La API del broker cambió entre 3.x y 4.0.x.
  • Windows Server 2012: si todavía corres ARM sobre 2012, el upgrade directamente no va a funcionar. Migrá primero el SO, después aplicá ARM 2026.2.1.
  • Web API scripts asumen endpoints viejos: si tienes scripts de automatización que consumen la API ARM y dependían de la documentación no actualizada desde 2020.2, revisa la guía nueva antes de upgrade. 300+ endpoints nuevos significa que algunos paths viejos pueden haber cambiado.

Resumen y próximos pasos

CVE-2026-28326 es exactamente el tipo de vulnerabilidad que paga parchar rápido: hardcodeada, sin autenticación, encadenable hacia Active Directory desde un appliance que toca identidades. Si tienes ARM en producción:

  1. verifica la versión actual en servidor principal y colectores.
  2. Aplicá ARM 2026.2.1 en staging primero.
  3. Rotá las credenciales de servicio de ARM hacia AD como medida de defensa en profundidad.
  4. Si corres en Windows Server 2012, migrá el SO antes del upgrade de ARM.
  5. Si todavía estás en la rama 2023.2.x, este aviso es un buen disparador para planificar la migración a 2026.2.1.

El aviso completo de SolarWinds está en https://www.solarwinds.com/trust-center/security-advisories/CVE-2026-28326. La entrada de CVE.org con CVSS vectorial y clasificación CWE está en https://www.cve.org/CVERecord?id=CVE-2026-28326. Si tu organización no usa ARM pero consume noticias de seguridad para sysadmins, vale guardar este caso como ejemplo de libro de texto sobre claves hardcodeadas en productos comerciales con acceso elevado.

Preguntas frecuentes

¿Por qué SolarWinds ARM CVE-2026-28326: clave hardcodeada que abre RCE sin autenticación es relevante para sysadmins Linux?

Forma parte del flujo diario de administración. Los conceptos explicados se aplican directamente a servidores en producción y resuelven problemas reales que enfrentan sysadmins hispanohablantes.

¿Qué necesito para empezar con SolarWinds ARM CVE-2026-28326: clave hardcodeada?

Distribución Linux actualizada (Debian, Ubuntu, RHEL, Fedora o Arch), acceso root, y conexión a internet. Para producción: entorno de staging separado antes de aplicar cambios.

¿Cuáles son los errores más comunes con SolarWinds ARM CVE-2026-28326: clave hardcodeada?

Los tres más frecuentes: (1) saltar la lectura de logs, (2) aplicar cambios directos en producción sin probar, (3) olvidar permisos y ownership. La documentación y un plan de rollback siempre.

¿Cuándo usar SolarWinds ARM CVE-2026-28326: clave hardcodeada y cuándo una alternativa?

Esta solución es ideal para el caso descrito. Alternativas como Docker, Ansible o configuración manual pueden ser mejores según contexto: portabilidad, escala y reproducibilidad son los factores clave.

¿Cómo migro desde una configuración previa a SolarWinds ARM CVE-2026-28326: clave hardcodeada?

Documentar el estado actual, probar la nueva configuración en staging, validar funcionalmente, y aplicar en producción con rollback plan listo. Los posts de SoyLinux incluyen troubleshooting para los problemas más comunes.

Lee también

Alfonso Moreno | Sysadmin Senior

Soy Alfonso, sysadmin senior con RHCE y más de 10 años administrando sistemas Linux para empresas y proyectos personales. Me especializo en infraestructura, redes, virtualización, monitoring, automation y self-hosting. Sobre SoyLinux.com SoyLinux.com es un blog técnico en español sobre Linux, software libre y self-hosting. Lo mantengo en mi tiempo libre. Áreas de expertise - Linux server administration: RHEL, CentOS, Rocky, Alma, Fedora, Debian, Ubuntu - Network services: Postfix, BIND, Samba, NFS, Squid - Virtualización y containers: KVM, Proxmox, Docker, Podman - Monitoring: Prometheus, Grafana, Zabbix - Automation: Ansible, Bash scripting - Self-hosting: Vaultwarden, Nextcloud, Jellyfin, Immich, Homelab Contacto - Email: [email protected]

Deja una respuesta

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