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 de memória (CWE-125) no NetScaler ADC e NetScaler Gateway quando o appliance está configurado como Identity Provider SAML (IDP). Um atacante não autenticado, sem interação do usuário, consegue extrair fragmentos de memória do processo via requisições HTTP manipuladas, potencialmente incluindo tokens de sessão, credenciais ou material criptográfico. Está no catálogo KEV da CISA com exploração ativa confirmada e prazo de correção de apenas 3 dias — sinal de que a situação é tratada como emergência, não como CVE crítica de rotina.
Detalhamento técnico
A causa raiz, segundo a análise da watchTowr Labs, é uma validação de entrada que checa apenas a presença de um parâmetro de querystring, sem verificar se ele efetivamente contém um valor associado. No endpoint /wsfed/passive, o parâmetro wctx pode ser enviado sem o símbolo '=' e sem valor. O código do NetScaler, ao processar a requisição, verifica que 'wctx' está presente na URL mas segue adiante e acessa o buffer de memória vinculado à variável como se ela contivesse dados válidos. Como não há valor real, esse ponteiro aponta para memória não inicializada ou já liberada ('dead memory'), e o conteúdo dessa região é copiado para a resposta.
O padrão é estruturalmente idêntico ao explorado em CitrixBleed2: falta de checagem entre 'parâmetro presente' e 'parâmetro com dado válido' antes de uma operação de leitura de buffer. A CISA classifica formalmente como CWE-125 (Out-of-Bounds Read).
Um ponto relevante levantado pela watchTowr: CVE-2026-3055, apesar de ser um único identificador, cobre na prática pelo menos duas vulnerabilidades distintas de memory overread — uma no endpoint /saml/login e outra no endpoint /wsfed/passive (parâmetro wctx). A Citrix, segundo os pesquisadores, tratou ambas sob o mesmo CVE, o que pode levar equipes que só testaram um dos endpoints a concluir erroneamente que o patch resolveu tudo. Os pesquisadores afirmam ter identificado ainda uma instância adicional do mesmo padrão de falha e reportado à Citrix, fora do escopo já coberto por este CVE.
A memória vazada retorna ao cliente codificada em base64 dentro do cookie NSC_TASS, na resposta HTTP de redirecionamento (302) do fluxo SAML/WS-Federation.
Como é explorada
O vetor é uma requisição HTTP direta ao endpoint /wsfed/passive (e, segundo a watchTowr, também a /saml/login) contendo o parâmetro wctx na querystring sem o sinal de igual e sem valor. Não é necessária autenticação, sessão prévia ou interação de usuário — o CVSS 4.0 (AV:N/AC:L/AT:N/PR:N/UI:N) reflete exatamente isso: ataque via rede, complexidade baixa, sem privilégios. A única pré-condição real, e ela é a informação mais importante da página, é que o appliance esteja configurado como SAML Identity Provider — uma função que, segundo a própria watchTowr, é rara e mal ajustada a esse tipo de dispositivo de borda. Ambientes que usam o NetScaler apenas como Gateway/ADC convencional, sem a função de IDP SAML habilitada, não expõem a superfície vulnerável.
A resposta, quando o alvo é vulnerável, retorna kilobytes de memória do processo dentro do cookie NSC_TASS codificado em base64, de forma consistente ('funciona quase sempre', segundo os pesquisadores) e sem as limitações que existiam na outra variante da mesma CVE. O conteúdo pode incluir dados de outras sessões, cabeçalhos internos e potencialmente material sensível, dependendo do estado da memória no momento da requisição.
Há exploração confirmada in-the-wild: a watchTowr identificou tentativas de exploração partindo de IPs associados a atores de ameaça conhecidos a partir de 27 de março de 2026, via sua rede de honeypots — um intervalo curto entre a descoberta/patch e a exploração ativa. Existem módulo Metasploit e template Nuclei públicos, o que baixa ainda mais a barreira técnica para exploração em massa contra appliances expostos à internet.
Versões
Como se proteger
A ação primária é aplicar o patch da Citrix referenciado no boletim CTX696300 (Security Bulletin para CVE-2026-3055 e CVE-2026-4368). As fontes disponíveis não trazem os números exatos de build/versão corrigida — consulte diretamente o boletim oficial da Citrix antes de declarar qualquer ambiente como corrigido, e não assuma que uma versão recente esteja segura sem confirmar no advisory.
Como controle compensatório real, caso o patch não possa ser aplicado imediatamente: desabilitar a configuração de SAML IDP no appliance elimina a superfície de exploração descrita, já que essa é a pré-condição obrigatória da falha. Isso tem custo funcional — qualquer integração que dependa do NetScaler atuando como Identity Provider SAML deixa de funcionar até a correção. A CISA, no registro KEV, orienta aplicar as mitigações do fornecedor, seguir a orientação da BOD 22-01 para serviços em nuvem, ou descontinuar o uso do produto se nenhuma mitigação estiver disponível — redação que reflete a gravidade percebida e o prazo de correção de apenas 3 dias.
Não confie em WAF genérico bloqueando apenas o padrão 'wctx sem valor': a watchTowr já demonstrou que o mesmo CVE cobre múltiplos endpoints com mecanismos similares (/saml/login e /wsfed/passive), então uma regra pontual em um único parâmetro/endpoint não cobre necessariamente as demais variantes agrupadas sob este CVE.
Como detectar
Procure em logs de acesso do NetScaler por requisições GET a /wsfed/passive e /saml/login contendo o parâmetro 'wctx' presente na querystring sem o sinal '=' e sem valor associado — esse é o indicador de tentativa de exploração descrito pela watchTowr. Respostas 302 com cookies NSC_TASS anormalmente grandes ou com conteúdo base64 muito maior que o padrão observado em operação normal também são sinal de exploração bem-sucedida (a memória vazada é embutida nesse cookie).
Como o vetor não requer autenticação nem deixa rastro em logs de aplicação (a falha ocorre em nível de processamento de buffer, não em autenticação ou autorização), a ausência de erros ou alertas no NetScaler não indica ausência de exploração — appliances comprometidos podem não gerar nenhum log de erro visível. Correlacione com IOCs de origem publicados por pesquisadores de ameaça e trate qualquer ocorrência do padrão de querystring acima como indício forte de tentativa, mesmo sem outros sinais.