← back
CVE-2023-0669highunder attackransomwareCWE-502

Fortra GoAnywhere MFT License Response Servlet Command Injection

100Vexday Risk Score

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

ssvc Actcvss 7.2epss 100%
from disclosure to weapon4 days
Published on NVDFeb 6
1st PoC+4d
metasploitFeb 1
CISA KEV+4d
exploitation probability
100%top 1% of all CVEs
observed exploitation
yesCISA + VulnCheck
11 public exploit(s)
Action required by CISAfederal deadline: 2023-03-03

Apply updates per vendor instructions.

Summary

Falha de deserialização insegura no License Response Servlet do Fortra GoAnywhere MFT (CWE-502) que permite execução remota de comandos no sistema operacional subjacente. Foi explorada como zero-day antes da divulgação pública — está no catálogo KEV da CISA e tem módulo Metasploit funcional para Linux e Windows —, mas o CVSS com PR:H revela uma pré-condição que a descrição oficial de 'pré-autenticação' obscurece: o vetor documentado pelo próprio fornecedor exige acesso ao console administrativo, não ao Web Client de usuários finais.

Technical detail

A vulnerabilidade está na classe com.linoma.ga.ui.admin.servlet.LicenseResponseServlet, mapeada na URL /lic/accept (path completo típico: /goanywhere/lic/accept). Esse endpoint recebe uma 'resposta de licença' que é decriptada (o módulo Metasploit usa parâmetros de cifra AES/CBC com IV configurável) e então deserializada em objeto Java sem qualquer validação de tipo ou origem. Como o conteúdo deserializado é controlado pelo atacante, é possível construir uma gadget chain que, ao ser reconstruída pela JVM, dispara execução de comando arbitrário no sistema operacional — o clássico padrão de RCE via deserialização insegura em Java.

How it’s exploited

O vetor prático documentado pelo advisory da Fortra (repassado por Brian Krebs, já que o advisory original ficou atrás de login) exige acesso ao console administrativo do GoAnywhere MFT — não ao Web Client de transferência de arquivos, que a Fortra afirma explicitamente não ser explorável por essa falha. Isso contradiz a leitura mais simples da descrição do CVE ('pre-authentication'), e o próprio vetor CVSS (PR:H) reflete essa exigência de privilégio administrativo prévio para o exploit funcional documentado. Pesquisador Kevin Beaumont identificou mais de 1.000 instâncias com o console administrativo exposto diretamente à internet — o que, combinado a credenciais padrão, reaproveitadas ou fracas, torna o pré-requisito de 'acesso ao console' bem menos restritivo na prática do que parece. O módulo Metasploit (exploit/multi/http/fortra_goanywhere_rce_cve_2023_0669) demonstra o ataque completo contra o endpoint /goanywhere/lic/accept em Linux e Windows, entregando shell com privilégios do processo do GoAnywhere (observado como root em Linux e NT AUTHORITY\SYSTEM em Windows nos testes dos desenvolvedores). A Fortra recomendou revisar usuários administrativos por indícios de contas criadas por 'system' — sinal de que atacantes usaram o RCE inicial para criar novos usuários admin como persistência.

Versions

Affected
Fortra não publicou o piso exato de versões afetadas nas fontes disponíveis; o exploit e o PoC público referenciam a build 7.1.1 como vulnerável, e o fornecedor confirma que todas as versões anteriores à 7.1.2 são afetadas.
Fixed in
7.1.2, lançada em 7 de fevereiro de 2023.

How to protect

A correção definitiva é atualizar para a versão 7.1.2 ou posterior, lançada pela Fortra em 7 de fevereiro de 2023. Antes de existir patch, a Fortra publicou um paliativo: editar o arquivo [install_dir]/adminroot/WEB-INF/web.xml e remover (ou comentar) o bloco e do 'License Response Servlet' (classe com.linoma.ga.ui.admin.servlet.LicenseResponseServlet, mapeado em /lic/accept), seguido de reinício da aplicação — em ambiente clusterizado, isso precisa ser replicado em todos os nós, não só num deles. Esse paliativo desativa a licença de resposta e reduz superfície de ataque, mas é edição manual de configuração de produção com risco de erro humano e precisa ser revertido/validado após a atualização.

How to detect

Requisições HTTP(S) para o endpoint /goanywhere/lic/accept (ou /lic/accept) partindo de origens que não são o processo legítimo de ativação de licença — especialmente se o console administrativo estiver exposto à internet — são o principal indicador de tentativa de exploração. Pós-exploração, a Fortra recomenda auditar contas administrativas por usuários novos e não reconhecidos, em particular criados pelo próprio 'system', o que indica criação automatizada de conta de persistência via o RCE. Não há assinatura de payload universal confiável, já que o objeto deserializado varia por gadget chain e é encriptado antes do envio; a ausência de logs de acesso ao console administrativo de fontes externas é, por si, um sinal relevante de exposição a esse vetor.

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.
Fortra (formerly, HelpSystems) GoAnywhere MFT suffers from a pre-authentication command injection vulnerability in the License Response Servlet due to deserializing an arbitrary attacker-controlled object. This issue was patched in version 7.1.2.
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
Affected products
Fortra · Goanywhere MFT
⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.