← back
CVE-2021-35211criticalunder attackransomwareCWE-787

Serv-U Remote Memory Escape Vulnerability

100Vexday Risk Score

Patch now. It under exploitation confirmed by CISA and has a working public exploit.

ssvc Actcvss 9epss 91%
from disclosure to weapon78 days
Published on NVDJul 14
1st PoC+78d
CISA KEV+112d
exploitation probability
91%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
5 public exploit(s)
Action required by CISAfederal deadline: 2021-11-17

Apply updates per vendor instructions.

Summary

Falha de memória (out-of-bounds write, CWE-787) na implementação do protocolo SSH do SolarWinds Serv-U que permite execução remota de código sem autenticação, caso o serviço SSH do Serv-U esteja exposto à internet. Foi usada como 0-day por um grupo atribuído pela Microsoft à China (DEV-0322) contra um conjunto limitado e direcionado de vítimas antes da correção, e está no catálogo KEV da CISA por exploração confirmada.

Technical detail

A falha está no parsing de pacotes SSH pelo Serv-U, especificamente na rotina CSUSSHSocket::ProcessReceive, responsável por processar payloads recebidos na negociação/tratamento de mensagens SSH. O bug é uma escrita fora dos limites de memória (CWE-787) — o atacante controla parte do conteúdo de um pacote SSH malformado que, ao ser processado, corrompe memória do processo Serv-U.exe, permitindo desviar o fluxo de execução e rodar código arbitrário com os privilégios do processo (tipicamente SYSTEM ou conta de serviço configurada).

A Microsoft identificou a causa raiz via análise black-box do binário (não teve acesso ao código-fonte), depois de observar telemetria com processos anômalos gerados a partir do Serv-U.exe. O fornecedor não publicou detalhes técnicos adicionais do bug após o patch, alegando dar tempo para clientes atualizarem.

Um detalhe relevante da superfície de exploração: a pasta \Client\Common\ do Serv-U é acessível pela internet por padrão, e o grupo observado redirecionava a saída de comandos executados via cmd.exe para arquivos dentro dessa pasta, usando-a como canal de exfiltração dos resultados do comando remoto — sem depender de shell reverso.

No Windows, a exploração leva a RCE completo. No Linux, o SolarWinds afirma que a mesma tentativa de exploração causa apenas crash do processo Serv-U (negação de serviço), não execução de código — distinção confirmada pelo próprio fornecedor, não apenas suposição da pesquisa.

How it’s exploited

Pré-requisito central, frequentemente omitido em resumos da CVE: o serviço SSH do Serv-U precisa estar exposto à rede/internet. Não há necessidade de autenticação (PR:N, UI:N no vetor CVSS), mas a complexidade de ataque é alta (AC:H) — a exploração exige conhecimento preciso da falha de memória e engenharia cuidadosa do payload SSH, não é um ataque trivial de scan-and-pwn.

Na campanha documentada pela Microsoft, o grupo DEV-0322 explorou o 0-day para obter execução de código no processo Serv-U e em seguida gerou processos filhos (mshta.exe, cmd.exe, powershell.exe) para reconhecimento (whoami, dir), execução de scripts batch e movimentação lateral via cópia de arquivos por SMB. Um passo de persistência observado foi a criação manual de um arquivo .Archive malformado no diretório Global Users, efetivamente adicionando um usuário administrador ao próprio Serv-U — abuso do formato de armazenamento de credenciais do produto, não uma segunda vulnerabilidade.

A exploração bem-sucedida também tende a gerar efeitos colaterais visíveis: uma exceção registrada no log e, em alguns casos, o crash do processo Serv-U após execução de comando malicioso — sinal de que o exploit, como escrito pelos atacantes observados, não era perfeitamente estável.

Versions

Affected
Serv-U Managed File Transfer e Serv-U Secure FTP para Windows, versão 15.2.3 HF1 e todas as versões anteriores.
Fixed in
Serv-U 15.2.3 HF2. Caminho de atualização: de 15.2.3 HF1 aplicar direto HF2; de 15.2.3 (sem hotfix) aplicar HF1 e depois HF2; de qualquer versão anterior a 15.2.3, atualizar para 15.2.3, depois aplicar HF1, depois HF2.

How to protect

Atualizar para Serv-U 15.2.3 HF2 é a correção definitiva. Caminhos de atualização conforme o SolarWinds: quem está em 15.2.3 HF1 aplica direto o HF2; quem está em 15.2.3 sem hotfix aplica HF1 e depois HF2; quem está em qualquer versão anterior a 15.2.3 precisa primeiro atualizar para 15.2.3, depois HF1, depois HF2 — não existe atalho direto de versões antigas para o HF2.

Se a atualização imediata não for possível, o controle compensatório real é não expor a porta SSH do Serv-U à internet (restringir por firewall/VPN/allowlist de IP) — a Microsoft afirma explicitamente que o risco de RCE depende do SSH estar acessível externamente. Isso não elimina a vulnerabilidade, apenas reduz drasticamente a superfície de ataque enquanto o patch não é aplicado. Em ambientes Windows sem patch e com SSH exposto, revisar se a pasta \Client\Common\ está com permissões/exposição além do necessário também reduz a utilidade de um dos vetores de exfiltração observados na campanha real.

Não existe mitigação eficaz apenas via desativação de recursos não relacionados ao SSH (FTP/FTPS por si só não protege, já que o vetor documentado é especificamente a implementação SSH). Em Linux, o próprio fornecedor descreve o impacto como crash (DoS), não RCE — ainda assim recomenda-se aplicar o patch, pois a garantia de que não há caminho de RCE ali vem apenas da avaliação do fornecedor, sem confirmação independente publicada.

How to detect

O Serv-U registra no arquivo de log DebugSocketLog.txt uma exceção do tipo 'EXCEPTION: C0000005; CSUSSHSocket::ProcessReceive(); Type: 30...' quando uma tentativa de exploração ocorre. A própria Microsoft alerta que essa exceção pode aparecer por motivos não relacionados a ataque, então não é um indicador definitivo isolado — deve ser correlacionado com outros sinais.

Outros indicadores comportamentais da campanha real observada: processos filhos anômalos gerados a partir de Serv-U.exe (mshta.exe, cmd.exe, powershell.exe executando reconhecimento como whoami/dir), saída de comandos redirecionada para arquivos dentro de \Client\Common\, e a criação/modificação inesperada de arquivos .Archive no diretório Global Users (indicando criação de usuário administrador não autorizado). A ausência desses sinais não garante que não houve tentativa, especialmente diante de exploits mais estáveis que os observados na campanha documentada.

Researched and written with AI from the vendor advisory and public analysis, with the sources above. Always confirm the fixed version in the official advisory before acting.
Microsoft discovered a remote code execution (RCE) vulnerability in the SolarWinds Serv-U product utilizing a Remote Memory Escape Vulnerability. If exploited, a threat actor may be able to gain privileged access to the machine hosting Serv-U Only. SolarWinds Serv-U Managed File Transfer and Serv-U Secure FTP for Windows before 15.2.3 HF2 are affected by this vulnerability.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.