Este documento describe los pasos para identificar y solucionar vulnerabilidades de seguridad críticas en SD-WAN basándose en los avisos PSIRT del 25 de febrero de 2026.
Cisco recomienda que tenga conocimiento sobre estos temas:
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Para obtener información general detallada y las últimas actualizaciones, consulte la página oficial de asesoramiento sobre PSIRT.
Estos consejos están disponibles en los siguientes enlaces:
Estos defectos se abordan en las siguientes recomendaciones PSIRT:
Nota: Todas las implementaciones de SD-WAN son vulnerables y requieren una acción inmediata. Sin embargo, no todos los sistemas muestran evidencia de compromiso.
Acción requerida: Abra un caso de Cisco TAC para abordar este aviso de seguridad.
TAC está disponible para:
required (obligatorio): Recopile archivos técnicos de administración de todos los componentes de control antes de abrir su caso TAC. Esto es esencial para que el TAC evalúe su entorno.
Colección:
Nota: Para admin-tech generation, seleccione Log and Tech options (Opciones de registro y tecnología). El núcleo no es necesario.
Nota: Los vSmart admin-techs no se deben ejecutar simultáneamente: recójelos de uno en uno. Los técnicos de administración para gerentes y validadores se pueden recopilar en cualquier orden.
Recopile una Admin-Tech en un entorno SD-WAN y cárguela en un caso TAC
Nota: TAC analiza estos archivos para evaluar su entorno en busca de indicadores de compromiso y guiar la ruta de remediación adecuada.
Para aquellos que no pueden compartir archivos de administración y tecnología, hay disponibles pasos de verificación manual. Estos pasos proporcionan indicadores preliminares que deben documentarse y compartirse con el TAC.
Consulte la sección "Pasos de verificación manual" al final de este documento para ver los procedimientos detallados. Documente todas las conclusiones y proporciónelas al TAC en su caso de soporte.
Después de recopilar todos los archivos técnicos de administración del paso 1, abra un caso de soporte del TAC de Cisco.
Acciones necesarias:
Precaución: El TAC determina el estado de su sistema y recomienda los siguientes pasos adecuados.
No intente realizar más pasos sin la guía del TAC
El TAC analiza los archivos técnicos de administración cargados y determina el estado de su sistema.
Durante este tiempo:
El TAC le guía a través del proceso de remediación adecuado en función de su evaluación. Complete todas las instrucciones proporcionadas por el TAC.
Si el TAC confirma que no hay evidencia de compromiso, actualice a la versión de software fija. Seleccione la versión adecuada de la tabla Versiones fijas de software de este documento y haga referencia a la guía de actualización vinculada en esta sección.
Advertencia: La actualización debe permanecer dentro de su versión principal actual. No actualice a una versión principal superior sin una guía explícita del TAC.
Actualización de controladores SD-WAN con el uso de vManage GUI o CLI
Si el TAC confirma que existen indicadores de compromiso, complete todas las directrices proporcionadas por el TAC.
Estas versiones de software contienen correcciones para las vulnerabilidades identificadas:
| Se aplica a las versiones actuales | Versión fija | Software disponible |
|---|---|---|
| 20.3, 20.6, 20.9 | 20.9.8.2 * | 20.9.8.2 imágenes de actualización para vManage, vSmart y vBond |
| 20.10, 20.11, 20.12.5 y anteriores en 20.12 | 20.12.5.3 | 20.12.5.3 imágenes de actualización para vManage, vSmart y vBond |
| 20.12.6 | 20.12.6.1 | 20.12.6.1 imágenes de actualización para vManage, vSmart y vBond |
| 20.13, 20.14 y 20.15.x | 20.15.4.2 | 20.15.4.2 imágenes de actualización para vManage, vSmart y vBond |
| 20.16, 20.17 y 20.18.x | 20.18.2.1 | 20.18.2.1 imágenes de actualización para vManage, vSmart y vBond |
Nota: Para los clientes de CDCS (clúster alojado en Cisco), 20.15.405 es también una versión fija. Esto se aplica específicamente a la implementación de clústeres alojados por Cisco y se gestiona por separado de la ruta de actualización estándar.
* Si se encuentra en la versión 20.9 o anterior: El software fijo para su versión (20.9.8.2) está disponible el 27/02. Cisco recomienda permanecer dentro de su versión principal actual y esperar a la versión 20.9.8.2 en lugar de actualizar a una versión principal superior (20.12, 20.15, 20.18). Si actualmente se encuentra en una versión inferior a 20.9, espere a que 20.9.8.2 se actualice allí. Continúe trabajando con el TAC y vuelva a consultar el enlace de software disponible el 27 de febrero.
Referencias importantes:
Nota: La colección Admin-tech es el método preferido y recomendado. Utilice la verificación manual únicamente si no puede recopilar y compartir archivos de tecnología administrativa. Si no puede recopilar archivos de administración-tecnología, utilice estos pasos manuales para recopilar indicadores preliminares para TAC.
Nota:
Requerimientos: Estos pasos se deben realizar en todos los componentes del control.
Paso 1: Identificar direcciones IP del sistema vManage válidas
Acceda a cada controlador vSmart y ejecute:
west-vsmart# show control connections | inc "vmanage|PEER|IP"
Ejemplo de salida:
PEER PEER
PEER PEER PEER SITE DOMAIN PRIV PEER PUB PEER
INDEX TYPE PROT SYSTEM IP ID ID PRIVATE IP PORT PUBLIC IP PORT ORGANIZATION REMOTE COLOR STATE UPTIME
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0 vmanage dtls 10.1.0.18 101018 0 10.1.10.18 12346 10.1.10.18 12346 calo-auto-lab default up 5:17:27:22
Paso 2: Generar cadena de expresión regular (sólo vBond y vSmart)
Combine todas las IP del sistema del paso 1 en un patrón de regex OR:
system-ip1|system-ip2|...|system-ipn
Paso 2b: Paso adicional para sistemas vManage
Si ejecuta estos comandos en el propio vManage, añada la IP de host local (127.0.0.1), la IP del sistema local, todas las IP de clúster y la IP de la interfaz de transporte VPN 0 al regex:
system-ip1|system-ip2|...|system-ipn|127.0.0.1|
Para buscar la dirección IP del sistema vManage local, utilice:
show control local-properties
Para buscar la IP de la interfaz de transporte VPN 0 y la IP del clúster, utilice:
show interface | tab
Paso 3: Ejecutar comando de verificación
Ejecute este comando, reemplazando REGEX con su cadena regex del Paso 2:
west-vsmart# vs
west-vsmart:~$ zgrep "Accepted publickey for vmanage-admin from " /var/log/auth.log* | grep -vE "\s(REGEX)\s"
Nota: Este comando filtra los registros de autenticación para mostrar solamente los inicios de sesión de vmanage-admin de orígenes inesperados. Los inicios de sesión legítimos solo deben originarse en direcciones IP relacionadas con vManage.
Paso 4: Interpretar resultados y documentos para TAC
Si se muestra NO output:
Si se imprimen líneas de registro:
Este comando extrae todos los pares peer-type e peer-system-ip de los archivos syslog del controlador y los genera como una lista para que la revise. No marca automáticamente entradas sospechosas: debe inspeccionar la salida y determinar si cada IP del sistema de peer es una parte conocida y legítima de su infraestructura SD-WAN. Ejecute esto en todos los componentes del control (controladores, administradores y validadores).
Paso 1: Ejecute el comando en cada componente del control:
Primero, acceda a vshell y navegue hasta el directorio de registro:
vs
cd /var/log
A continuación, ejecute el comando this:
awk '{
match($0, /peer-type:([a-zA-Z0-9]+)[^ ]* peer-system-ip:([0-9.:]+)/, arr);
if(arr[1] && arr[2]) print "(" arr[1] ", " arr[2] ")";
}' vsyslog* | sort | uniq
Paso 2: Interpretar resultados y documentos para TAC
Si el resultado solo muestra direcciones IP del sistema vManage/vSmart/vBond conocidas:
Si el resultado contiene IPs del sistema de peer no reconocidas:
Paso 1: Qué buscar
Archivo de registro: /var/log/nms/containers/service-proxy/serviceproxy-access.log
Ejemplo de línea de registro:
[2026-03-04T01:45:06.239Z] "GET /reports/data/opt/data/containers/config/data-collection-agent/.dca HTTP/1.1" 200 - 0 32 1 - "" "python-requests/2.32.5" "ae076862-2244-45a6-844f-bc2af970e570" "192.168.2.3" "127.0.0.1:8080"
Nota: IOC3 no utiliza el código de estado HTTP como condición de entrada. Se registra cualquier intento transversal. El código de estado sigue siendo relevante para la interpretación por parte de los analistas (por ejemplo, HTTP 200 indica que se ha leído correctamente el archivo), pero las respuestas que no sean 200 siguen siendo intentos de explotación y deben evaluarse.
Paso 2: Comando de búsqueda manual
Desde Terminal — busque dentro del paquete admin-tech extraído:
zgrep -r "data-collection-agent/.dca" var/log/nms/containers/service-proxy/serviceproxy-access.log*
Nota: La administración de DCA legítima puede incluir el URI .dca de las direcciones IP de administrador conocidas. Valide siempre las direcciones IP de origen con las fuentes de administrador conocidas antes de escalar. Trate cualquier IP de origen no reconocida para cualquiera de los subtipos como sospechosa.
Nota: IOC4 solo se aplica a los dispositivos vManage. Cualquier entrada de registro de SmartLicensingManager que escriba un archivo mediante ../traversal se marca independientemente del resultado. Si la entrada de escritura existe en el registro, se produce la escritura.
Paso 1: Qué buscar
Archivo de registro: /var/log/nms/vmanage-server.log
Líneas de registro de ejemplo:
06-Mar-2026 02:16:34,029 UTC INFO [285fcdc0-30fa-4ca0-8e06-6953a095a59a] [LAB-TEST-1] [SmartLicensingManager] (default task-11229) |57501bad-32a7-4f52-8f54-8547dcd7403e| Time taken to write file ../../../../../../../../../../../var/lib/wildfly/standalone/deployments/cmd.gz.war = 2 ms to directory /opt/data/app-server/software/package/license/ack
04-Mar-2026 15:40:02,683 IST INFO [ca0e641b-acc7-42a6-b39b-bf3d28be0bcb] [LAB-TEST-1] [SmartLicensingManager] (default task-1235) |default| Time taken to write file ../../../../../../../../../../../var/lib/wildfly/standalone/deployments/sysv.gz.war = 0 ms to directory /opt/data/app-server/software/package/license/ack
27-Feb-2026 08:49:27,169 IST INFO [d9976a9d-071e-4e07-a3ef-4e90019cae12] [LAB-TEST-1] [SmartLicensingManager] (default task-809) |default| Time taken to write file ../../../../../../../../../../../var/lib/wildfly/standalone/deployments/authscp.gz.war = 0 ms to directory /opt/data/app-server/software/package/license/ack
Precaución: El nombre de archivo que se muestra en los ejemplos (por ejemplo, cmd.gz.war) es sólo ilustrativo. Los casos reales pueden utilizar nombres de archivo diferentes. Registre todos los nombres de archivo transversales únicos identificados, ya que cada uno representa una carga útil descartada independiente.
Paso 2: Comando de búsqueda manual
Desde Terminal — busque dentro del paquete admin-tech extraído:
grep -rE "SmartLicensingManager.*Time taken to write file \.\.\/" var/log/nms/vmanage-server.log*
Incluidos los registros rotados/comprimidos:
zgrep -E "SmartLicensingManager.*Time taken to write file \.\.\/" var/log/nms/vmanage-server.log*
Para capturar líneas de contexto relacionadas (cargar procesamiento de API y escribir eventos):
grep -rE "SmartLicensingManager.*(write file|is processing|stringUrl|Failed to download).*/wildfly" var/log/nms/vmanage-server.log*
Precaución: Las extensiones de archivo observadas en un entorno comprometido pueden variar. Los ejemplos y patrones de búsqueda cubren escenarios comunes pero no son exhaustivos.
Paso 1: Qué buscar
Archivo de registro: /var/log/nms/containers/service-proxy/serviceproxy-access.log
Cualquier solicitud POST a un patrón URI *.gz/*.jsp se marca. El estado de HTTP determina la gravedad:
| Estado HTTP | Significado | ¿Compromiso confirmado? |
|---|---|---|
| 200 | El servidor ejecutó el webshell; payload está activo | Sí, compromiso confirmado |
Líneas de registro de ejemplo:
[2026-03-04T08:03:33.295Z] "POST /cmd.gz/cmd.jsp HTTP/1.1" 200 - 6 63 78 - "" "python-requests/2.32.5" "9d842c1a-b96f-4d04-ac3d-542ec3dd734b" "192.168.2.3" "127.0.0.1:8080"
Paso 2: Comando de búsqueda manual
Desde Terminal — busque dentro del paquete admin-tech extraído:
grep -rE '"POST /[^"]+\.gz/[^"]+\.jsp HTTP' var/log/nms/containers/service-proxy/serviceproxy-access.log*
Incluidos los registros rotados/comprimidos:
zgrep -E '"POST /[^"]+\.gz/[^"]+\.jsp HTTP' var/log/nms/containers/service-proxy/serviceproxy-access.log*
Para separar la ejecución confirmada (HTTP 200) de los intentos que no son 200:
# HTTP 200 only - confirmed webshell execution:
grep -rE '"POST /[^"]+\.gz/[^"]+\.jsp HTTP[^"]*" 200' var/log/nms/containers/service-proxy/serviceproxy-access.log*
Nota: Documentar todas las IP de origen únicas, el recuento total de solicitudes y el recuento de respuestas HTTP 200. Informe al TAC de Cisco.
A: ¿Cuál es el primer paso para abordar este aviso de seguridad?
R: Recopile archivos de administración y tecnología de todos los componentes de control y abra un caso TAC para cargar los archivos. El TAC evalúa su entorno y proporciona orientación sobre los siguientes pasos.
P. ¿A qué versión necesito actualizar?
R. Actualice a la versión fija más cercana lo antes posible.
A: ¿Necesito recopilar técnicos de administración de todos los componentes de control?
R: Sí, TAC requiere archivos de tecnología de administración de todos los controladores (vSmart, recopilados de uno en uno), todos los administradores (vManage) y todos los validadores (vBond) para evaluar correctamente su entorno.
A: ¿Cómo determina el TAC si mi sistema se ha visto comprometido?
R: El TAC analiza los archivos técnicos de administración mediante herramientas especializadas para evaluar su entorno en busca de indicadores de compromiso.
A: ¿Qué ocurre si se identifican indicadores de compromiso?
R: El TAC se pone en contacto con usted para hablar sobre los siguientes pasos y la orientación específica para su entorno. Cisco no lleva a cabo la remediación en su nombre. TAC proporciona la orientación necesaria para que pueda continuar.
A: ¿Cómo sé qué versión de software fija debo utilizar?
R: Consulte la tabla Versiones fijas de software en este documento. TAC confirma la versión adecuada para su entorno específico.
A: ¿Puedo iniciar la actualización antes de que el TAC analice mis técnicos administrativos?
R: No, espere a que el TAC complete su evaluación y proporcione orientación antes de intentar cualquier acción de remediación.
A: ¿Se espera tiempo de inactividad durante la remediación?
R: El impacto depende de la arquitectura de implementación y de la ruta de remediación. El TAC proporciona orientación sobre cómo minimizar el impacto del servicio durante el proceso.
A: ¿Se incluyen las correcciones de PSIRT en la próxima versión 20.15.5 y en otras próximas versiones?
R: Sí, las correcciones se incluyen en 20.15.5 y en otras versiones futuras. Sin embargo, la actualización para mitigar las vulnerabilidades descritas en este documento debe priorizarse INMEDIATAMENTE. (¡No espere!)
A: ¿Es necesario actualizar todos los controladores en caso de que no se encuentren indicadores de compromiso?
R: Sí, todos los componentes de control de SD-WAN (vManage, vSmart y vBond) deben actualizarse a una versión de software fija. No es suficiente actualizar sólo un subconjunto de controladores.
A: Tengo una superposición de SD-WAN alojada en la nube. ¿Cuáles son mis opciones de actualización?
R: Para las superposiciones alojadas en la nube, los clientes tienen dos opciones:
Abra un caso de TAC en espera para su ventana de mantenimiento preferida. El TAC está disponible para ayudarle en caso de que tenga dificultades con la actualización.
A: ¿También necesitamos actualizar los routers de extremo?
R: Este aviso no afecta a los dispositivos Cisco IOS XE.
P.: Somos una solución de superposición alojada de Cisco. ¿Tenemos que corregir alguna ACL o realizar alguna acción en el SSP?
R: Se recomienda a todos los clientes alojados en Cisco que revisen sus propias reglas de entrada permitidas en SSP y que se aseguren de que sólo se permiten los prefijos necesarios de su parte. Estas reglas son solo para el acceso a la administración y no se aplican a los routers de borde. Revíselas en SSP > Detalles de superposición > Permitir reglas de entrada. Tenga en cuenta que el puerto 22, 830 siempre estaba bloqueado de forma predeterminada el día 0 de aprovisionamiento por parte de Cisco desde el exterior a los controladores alojados en la nube.
A: Estamos en CDCS/arrendatario compartido. ¿A qué versión se va a actualizar?
R: En función de la versión actual, los clústeres de Shared Tenant o CDCS se actualizarán según lo programado o bien ya se actualizarán a las versiones fijas. A continuación se indican el arrendatario compartido y las versiones fijas de CDCS:
1. Clústeres de Early Adopter => 20.18.2.1 (en realidad es lo mismo que la versión estándar)
2. Clústeres de versión recomendados => 20.15.405 (versión específica de CDCS con correcciones de PSIRT)
Los clientes de CDCS no necesitan realizar ninguna acción eficaz para abordar este PSIRT.
A: ¿Cuáles son las prácticas recomendadas generales o las formas de reducir las vulnerabilidades de mi superposición de SD-WAN?
R: Consulte la Guía de endurecimiento de SD-WAN de Cisco Catalyst para conocer las mejores prácticas y recomendaciones para reducir las vulnerabilidades en su superposición de SD-WAN.
A: Vemos los registros de un usuario "root" en nuestro sistema. ¿Es esto preocupante?
R: Compruebe qué más está sucediendo en el sistema en ese momento. Estos registros son totalmente esperables. Por ejemplo, los registros de cambio de inicio de sesión del sistema de un usuario "root" se ven cuando se generan admin-techs. Los registros también se pueden ver desde un usuario "root" durante un reinicio.
Feb 28 23:03:44 Manager01 SYSMGR[863]: %Viptela-Manager01-sysmgrd-6-INFO-1400002: Notification: system-login-change severity-level:minor host-name:"Manager01" system-ip: user-name:"root" user-id:245 generated-at:2-28-2026T23:3:44
Feb 28 23:03:47 Manager01 SYSMGR[863]: %Viptela-Manager01-sysmgrd-6-INFO-1400002: Notification: system-login-change severity-level:minor host-name:"Manager01" system-ip: user-name:"root" user-id:248 generated-at:2-28-2026T23:3:47
A: Ya hemos mejorado sin indicadores de compromiso. Después del lanzamiento de los nuevos IOC el 17 de marzo, ¿qué tengo que hacer?
R: El software que aparece como fijo contiene protección contra nuevos intentos de aprovechar las CVE enumeradas en los dos avisos que se tratan en este artículo. Aunque la actualización protege frente a ataques de vulnerabilidades futuros, es posible que existan vulnerabilidades que aún estén en vigor y que se hayan producido antes de la actualización. Se recomienda que los clientes utilicen el autoservicio "Check Bug Applicability" que está integrado en la Página de la Herramienta de Búsqueda de Errores para el ID de bug Cisco CSCws52722 para volver a escanear admin-techs desde los Componentes de Control. Si es necesario, los clientes pueden abrir un caso de TAC y repetir el proceso descrito en este artículo para volver a analizar los técnicos de administración basados en los nuevos IOC. b
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
5.0 |
19-Mar-2026
|
Pasos de verificación 3-5 agregados |
4.0 |
01-Mar-2026
|
Actualizaciones de preguntas y respuestas |
3.0 |
27-Feb-2026
|
20.9.8.2 está disponible |
2.0 |
26-Feb-2026
|
Preguntas y respuestas actualizadas |
1.0 |
25-Feb-2026
|
Versión inicial |