CVE-2021-22893
Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.
Apply updates per vendor instructions.
Resumen
Falha use-after-free (CWE-416) no Pulse Connect Secure, alcançável por um endpoint de tratamento do license server e por funcionalidades de Windows File Share Browser e Pulse Secure Collaboration, permite a um atacante remoto e não autenticado executar código arbitrário com privilégios de root no próprio gateway VPN. O CVSS 10.0 é justificado: não exige autenticação, nem configuração especial — os endpoints vulneráveis existem mesmo em appliances que nunca foram configurados como license server. Foi explorada em ataques reais antes da divulgação pública, em conjunto com três CVEs mais antigas (2019-11510, 2020-8243, 2020-8260), e está no catálogo KEV da CISA com prazo de correção vinculado à Emergency Directive 21-03.
Detalle técnico
O ponto de entrada é um endpoint de tratamento de licenças do PCS que fica presente e acessível independentemente de o appliance estar de fato configurado como license server. Ao processar requisições específicas nesse fluxo (e em rotas ligadas ao Windows File Share Browser e ao Pulse Secure Collaboration), o código libera um objeto de memória e posteriormente ainda o referencia — um use-after-free clássico — o que dá ao atacante controle sobre dados que acabam sendo usados após a liberação, viabilizando corrupção de memória e execução de código.
A CERT/CC identifica os pontos vulneráveis por padrões de URI: `/dana/meeting`, `/dana/fb/smb`, `/dana-cached/fb/smb`, `/dana-ws/namedusers` e `/dana-ws/metric`. Esses caminhos correspondem exatamente às features citadas na descrição oficial (Windows File Share Browser e Collaboration), confirmando que a superfície de ataque é maior do que o nome "vulnerabilidade do license server" sugere.
Não há necessidade de sessão autenticada, token válido ou configuração não padrão — o único pré-requisito é acesso de rede à interface do PCS que expõe esses endpoints (tipicamente a interface externa da VPN, exposta à internet por definição de uso). Isso explica o vetor de ataque de rede (AV:N) e a ausência de interação do usuário (UI:N) no vetor CVSS.
A descrição oficial da Ivanti fala em "authentication bypass"; a CERT/CC e a análise técnica descrevem o mecanismo raiz como use-after-free. As duas caracterizações não são contraditórias: o resultado prático (RCE não autenticado) é o mesmo, mas o mecanismo interno é uma falha de gerenciamento de memória, não uma checagem de autenticação ausente — vale notar essa diferença porque afeta como um WAF ou IDS deveria detectar tentativas.
Cómo se explota
A exploração ocorre via requisição HTTP(S) crafada contra os endpoints vulneráveis, sem necessidade de credenciais. O atacante não precisa controlar nenhum parâmetro de configuração do lado do PCS — a superfície está exposta por padrão em qualquer appliance na faixa de versões afetadas, license server habilitado ou não. Isso reduz drasticamente a barreira de exploração: não há pré-condição de acesso privilegiado, rede interna ou feature opcional ativada.
Segundo a Ivanti (blog oficial) e a Mandiant/FireEye, essa CVE foi descoberta durante investigação de comprometimentos reais em appliances de clientes, e os ataques observados combinaram essa falha com três vulnerabilidades já corrigidas anteriormente (CVE-2019-11510, CVE-2020-8243, CVE-2020-8260). A exploração documentada não foi um exploit isolado, mas parte de um conjunto de técnicas usado por atores classificados como APT — a FireEye descreveu isso como "suspected APT actors leverage bypass techniques" em ataques contra órgãos de defesa e governo, segundo reportagens associadas ao caso.
O resultado final é execução de código como root no gateway VPN — controle total do appliance, com capacidade de interceptar credenciais de sessões VPN, pivotar para a rede interna e, no caso documentado, plantar mecanismos de persistência. Por estar listada no catálogo KEV da CISA com exploração confirmada e distribuição pública de indicadores de comprometimento, deve ser tratada como ativamente explorada, não teórica.
Versiones
Cómo protegerse
A correção definitiva é atualizar para Pulse Connect Secure 9.1R11.4, que endereça esta e outras falhas relacionadas. Se a atualização imediata não for viável, a Ivanti publicou um arquivo de workaround (Workaround-2104.xml) que bloqueia as requisições nos padrões de URI vulneráveis (`/dana/meeting`, `/dana/fb/smb`, `/dana-cached/fb/smb`, `/dana-ws/namedusers`, `/dana-ws/metric`) sem exigir reinicialização do sistema. O custo real desse paliativo: desativa as funcionalidades Windows File Share Browser, Pulse Secure Collaboration e License Server — se o ambiente depende de alguma delas, a mitigação as inutiliza enquanto estiver ativa.
Para appliances usados de fato como license server, a Ivanti recomenda atualizar em vez de aplicar o workaround (que quebraria a função); se a atualização não for possível, restringir por IP quais hosts podem se comunicar com o serviço reduz a exposição sem eliminá-la totalmente.
O que não resolve: aplicar só o patch de 9.1R11.4 não desfaz um comprometimento prévio. Como a exploração real observada envolveu também três CVEs mais antigas (2019-11510, 2020-8243, 2020-8260), a Ivanti recomenda explicitamente rodar a Integrity Assurance/Integrity Checker Tool e trocar todas as senhas do ambiente se houver qualquer suspeita de exploração anterior — atualizar a versão sozinho não invalida credenciais ou webshells eventualmente plantados antes do patch.
Cómo detectar
Por padrão, o PCS não registra requisições não autenticadas — como a exploração ocorre justamente por essa via, pode não haver evidência alguma no log padrão. É necessário habilitar manualmente a opção "Unauthenticated Requests" em System → Log/Monitoring → User Access → Settings antes de qualquer tentativa de exploração para que ela seja capturada; sem isso, a ausência de log não significa ausência de ataque.
Com logging remoto configurado (recomendado, já que atacantes que comprometem o appliance podem apagar logs locais), procure requisições batendo nos padrões `/dana/meeting`, `/dana/fb/smb`, `/dana-cached/fb/smb`, `/dana-ws/namedusers` e `/dana-ws/metric` vindas de IPs não esperados ou sem sessão prévia associada. A Ivanti também disponibilizou a Integrity Assurance Tool para verificar sinais de comprometimento no appliance, mas a própria CERT/CC alerta que o resultado pode ser adulterado se o dispositivo já estiver comprometido, já que a ferramenta depende da interface administrativa do próprio equipamento.