CVE-2026-3055: Citrix NetScaler SAML IDP Memory Overread — Technical Analysis & Remediation
Causa de raíz técnica y telemetría de explotación activa para la memoria de la sesión de Citrix NetScaler SAML.
CVE-2026-3055
Severidad: CVSS 9.4
Situación: ⚠️ Explotado activamente en el salvaje
Componente de destino: Citrix NetScaler ADC & Gateway SAML IDP← Volver a la Ronda de Seguridad del 4 de junio
Sinopsis
CVE-2026-3055 es una memoria fuera de límites leída (CWE-125) en Citrix NetScaler ADC y NetScaler Gateway cuando se configura como un SAML Identity Provider (SAML IDP). Un atacante no autenticado puede enviar solicitudes de HTTP elaboradas al /saml/login endpoint para filtrar la memoria de la solicitud anterior, potencialmente exposiendo fichas de sesión, credenciales o material criptográfico. CVSS v3.1 puntuación base: 9.3 (Crítica). CISA lo ha añadido al catálogo KEV 30 de marzo, 2026; Fortinet confirmó la explotación activa a gran escala en mayo de 2026.
Versiones afectadas
- NetScaler ADC y Gateway
- NetScaler ADC y Gateway 13.1
- NetScaler ADC y Gateway 13.0 (fin de vida – sin parche; actualización requerida)
Detalles de la vulnerabilidad
The vulnerability occurs in the SAML IDP handler within nsppe. Al procesar el /saml/login endpoint, el código comprueba la presencia del wctx parámetro de consulta pero no valida que contenga un valor (puede estar presente como un desnudo) wctx llave sin una = signo). En este caso, el manejador intenta acceder al búfer asociado con un offset incorrecto, causando una lectura de memoria residual fuera de límites de una solicitud HTTP anterior.
Cadena de ataque
- Enumerate SAML IDP: Probe for SAML IDP mode via
GET /cgi/GetAuthMethods. La respuesta incluye"saml"in the auth methods array if the appliance is configured as a SAML IDP. - La filtración de memoria del desencadenante: Enviar
GET /saml/login?wctx HTTP/1.1(nota:wctxsin=valor). El manipulador NSC TASS lee la memoria y lo hace eco en el cuerpo de respuesta. - Extraer datos confidenciales: Repetir solicitudes para cosechar diferentes regiones de memoria. Se ha confirmado que los datos principales incluyen cookies de sesión con código Base64, encabezados de autorización HTTP y afirmaciones parciales de SAML de solicitudes anteriores.
- Sesion secuestrador o reproducción credencial: Use tokens de sesión extraídas para autenticar a los servicios de aguas abajo o vuelva a reproducir afirmaciones SAML robadas para imitar a los usuarios al proveedor de servicios.
Solicitud de PoC
GET /saml/login?wctx HTTP/1.1
Host: target-netscaler.example.com
User-Agent: Mozilla/5.0
Connection: close
# Response contains leaked memory after the HTML body.
# Look for Base64 blobs or Authorization header fragments.
COI
- Alto volumen
GET /saml/login?wctxsolicitudes (sin=) en los registros de acceso NetScaler - Eventos de autenticación inusual en registros de proveedores de servicios de SAML (loginas de rangos IP inesperados)
- Probación de actividad de exploración
/cgi/GetAuthMethodsde la misma fuente IPs
Remediación
# 1. Upgrade NetScaler ADC/Gateway:
# - 14.1 → 14.1-43.12 or later
# - 13.1 → 13.1-57.10 or later
# - 13.0 → Upgrade to 13.1 or 14.1 (EOL, no patch)
# 2. If immediate upgrade is not possible, disable SAML IDP functionality:
# In the Citrix ADC CLI:
set authentication samlIdPProfile -DISABLED
# 3. Apply a web application firewall (WAF) rule to block requests matching:
# URI: /saml/login Query: wctx without = sign
# Citrix ADC AppFW signature rule (add to your policy):
# RULE: MATCH_URI "/saml/login" AND QUERY_STRING "wctx" NOT CONTAINS "="
# ACTION: BLOCK
# 4. Review logs for prior exploitation:
grep 'GET /saml/login?wctx ' /var/nslog/httprequest.log | awk '{print $1}' | sort | uniq -c | sort -rn
← Volver a la Ronda de Seguridad del 4 de junio