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: Citrix NetScaler SAML IDP Memory Overread — Technical Analysis & Remediation
📌
Serie de Redondas de Seguridad: Semana del 4 de junio de 20264 min de lectura
🚨
Threat Intelligence " Technical Specs: CVE ID: 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

  1. 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.
  2. La filtración de memoria del desencadenante: Enviar GET /saml/login?wctx HTTP/1.1 (nota: wctx sin = valor). El manipulador NSC TASS lee la memoria y lo hace eco en el cuerpo de respuesta.
  3. 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.
  4. 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?wctx solicitudes (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/GetAuthMethods de 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