NetScaler ADC and NetScaler Gateway - Insufficient input validation leading to memory overread
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Resumo
Falha de leitura fora dos limites (memory overread) no NetScaler ADC/Gateway quando o dispositivo está configurado como Gateway (VPN virtual server, ICA Proxy, CVPN, RDP Proxy) ou como servidor virtual AAA. Batizada de 'CitrixBleed 2' pela semelhança direta com a CVE-2023-4966: um endpoint de autenticação reflete memória adjacente na resposta, permitindo extrair tokens de sessão válidos (NSC_AAAC) e sequestrar sessões autenticadas, contornando MFA. Está no catálogo KEV da CISA com exploração ativa confirmada por múltiplos pesquisadores, apesar de a Citrix ter inicialmente negado evidências de exploração.
Detalhamento técnico
A causa raiz está no nsppe (NetScaler Packet Parsing Engine), o módulo binário responsável pelo Gateway, ICA Proxy, CVPN, RDP Proxy e autenticação AAA. No endpoint /p/u/doAuthentication.do (e outros pontos que usam a mesma lógica de parsing de formulário), o parâmetro 'login' é processado por uma rotina que exige apenas a presença da chave do formulário — não do valor associado. Quando o valor de 'login' é omitido ou vazio, a estrutura que deveria conter o dado do usuário aponta para memória adjacente não inicializada, que é apenas null-terminada no ponto de uso, não zerada antes. Isso corresponde a um CWE-125 (Out-of-bounds Read).
Como é explorada
Essa memória adjacente é então refletida de volta na resposta XML, na tag , entregando ao atacante até ~127 bytes de dados de memória do processo por requisição — incluindo cookies de sessão (NSC_AAAC), credenciais em texto plano de outras requisições de login legítimas e tokens administrativos (inclusive de sessões 'nsroot'). Não exige autenticação prévia (PR:N), interação do usuário (UI:N) ou configuração não padrão exótica — só que o NetScaler esteja atuando como Gateway ou AAA vserver, o que é o cenário normal de uso do produto voltado à internet.
Na prática, o atacante envia repetidamente requisições POST para doAuthentication.do com o parâmetro 'login' presente mas com valor ausente/malformado, coletando fragmentos de memória em massa — pesquisadores relatam volumes de milhares de requisições por dia para 'pescar' um token de sessão válido em meio ao ruído. Um cookie de sessão capturado pode então ser reutilizado (replay) para assumir a sessão de um usuário legítimo já autenticado, inclusive com MFA já validado, permitindo estabelecer sessões ICA/VDI ou sequestrar sessões administrativas ativas.
Há exploração ativa documentada por GreyNoise, ReliaQuest e outros retroativamente até pelo menos 23 de junho de 2025 — antes de qualquer detalhe técnico público e antes da Citrix admitir exploração. A vulnerabilidade está no catálogo KEV da CISA.
Versões
Como se proteger
A correção definitiva é atualizar para as versões corrigidas listadas pela Citrix. Como a exploração pode ter começado antes do patch (mid-junho de 2025), aplicar apenas a atualização não invalida sessões já sequestradas: a própria Citrix recomenda encerrar todas as sessões ICA e PCoIP ativas após o patch (comandos 'kill icaconnection -all' e 'kill pcoipConnection -all'), pois tokens roubados continuam válidos até serem revogados. Não fazer isso é o erro mais comum observado — organizações aplicam o patch e assumem que o risco acabou, sem invalidar sessões potencialmente comprometidas.
Não há workaround de configuração que neutralize a falha sem desativar as funcionalidades de Gateway/AAA vserver — isso não é viável na maioria dos ambientes, já que é a função central do produto. Restringir acesso de rede ao endpoint vulnerável não resolve, pois o Gateway é, por definição, exposto à internet para VPN/ICA Proxy. Versões 12.1 e 13.0 estão em fim de vida (EOL) e não recebem correção — a única opção é migrar para um ramo suportado.
Como detectar
Em logs de acesso web do NetScaler (dependente do nível de logging habilitado), procurar volume anômalo de requisições POST para 'doAuthentication.do' — cada tentativa leaka apenas ~126-127 bytes, então exploração em massa gera milhares de requisições por dia, destacando-se como outlier de volume frente ao tráfego legítimo. Um indicador adicional citado por pesquisadores é o header 'Content-Length: 5' nessas requisições POST (embora alterável pelo atacante). Com logging detalhado (debug), entradas de LOGOFF com o campo usuário contendo o caractere '#' ou strings binárias/não imprimíveis misturadas com ASCII no campo de usuário sugerem que memória crua foi gravada no lugar de um valor de formulário — indício forte de exploração. Também vale auditar sessões ativas: uma mesma sessão usada a partir de múltiplos IPs de cliente diferentes, ou IP de origem divergente do IP de cliente registrado na sessão, é sinal de possível sequestro de sessão. Não existe um indicador único e confiável antes da exploração — a Citrix não publicou artefatos técnicos ou IOCs oficiais, o que limita a detecção retroativa em ambientes sem logging avançado habilitado previamente.