A equipe de pesquisa da ESET descobriu uma vulnerabilidade de execução de código no WPS Office para Windows (CVE-2024-7262), que estava sendo explorada pelo APT-C-60, um grupo de ciberespionagem alinhado com a Coreia do Sul. Depois de analisar a causa raiz, descobrimos outra maneira de explorar o código defeituoso (CVE-2924-7263). Após um processo de divulgação coordenado, ambas as vulnerabilidades foram corrigidas; fornecemos detalhes técnicos neste post do blog.

Principais pontos da pesquisa:

  • O APT-C-60 explorou uma vulnerabilidade de execução de código no WPS Office para Windows (CVE-2024-7262) para atacar países do Leste Asiático.
  • Uma análise da causa raiz dessa vulnerabilidade é fornecida juntamente com uma descrição de seu uso.
  • O estudo do exploit levou os pesquisadores da ESET à descoberta de um caminho alternativo para explorar a vulnerabilidade (CVE-2024-7263).

Enquanto investigávamos as atividades do APT-C-60, encontramos uma planilha suspeita que fazia referência a um dos diversos componentes de downloader utilizados pelo grupo. Nossa análise revelou uma vulnerabilidade de execução de código no WPS Office para Windows, que o APT-C-60 está explorando para realizar ataques em países do Leste Asiático. O payload final é um backdoor personalizado, que chamamos internamente de SpyGlace, também documentado publicamente pelo ThreatBook como TaskControler.dll.

De acordo com o site da WPS, o software possui mais de 500 milhões de usuários ativos globalmente, tornando-o um alvo atrativo para alcançar um grande número de pessoas. Durante nosso processo coordenado de divulgação de vulnerabilidades, a DBAPPSecurity publicou independentemente uma análise sobre a vulnerabilidade explorada e confirmou que o grupo APT-C-60 utilizou a falha para distribuir malware a usuários na China.

O documento malicioso (SHA-1: 7509B4C506C01627C1A4C396161D07277F044AC6) é apresentado como uma exportação MHTML de uma planilha XLS. Contudo, ele contém um hiperlink oculto especialmente desenvolvido para executar uma biblioteca arbitrária ao ser clicado dentro do aplicativo WPS Spreadsheet. O formato de arquivo MHTML não convencional permite o download de um arquivo assim que o documento é aberto; logo, essa técnica de exploração permite a execução remota de código. A Figura 1 mostra como o documento é exibido no WPS Spreadsheet: uma imagem com linhas e colunas que se refere à solução de e-mail Coremail, usada como chamariz para ocultar o hiperlink malicioso.

Seguindo nossa política de divulgação coordenada de vulnerabilidades, desde o momento em que o documento malicioso foi carregado no VirusTotal até a publicação deste post, a seguinte cronologia foi observada:

  • 2024-02-29: Documento de exploração da CVE-2024-7262 carregado no VirusTotal.
  • 2024-03-XX: A Kingsoft lançou uma atualização que corrigiu silenciosamente a vulnerabilidade CVE-2024-7672, impedindo a exploração de 2024-02-29. Isto foi determinado retrospectivamente, após a análise de todas as versões acessíveis do WPS Office entre março e abril de 2024, visto que a Kingsoft não forneceu detalhes claros sobre suas ações na tentativa de corrigir a falha.
  • 2024-04-30: Analisamos o documento malicioso no VirusTotal e descobrimos que ele explorava ativamente a CVE-2024-7262, que era uma vulnerabilidade de dia zero no momento do uso inicial do documento. Também descobrimos que o patch silencioso da Kingsoft corrigiu apenas parcialmente o código defeituoso, deixando o restante ainda explorável.
  • 2024-05-25: Entramos em contato com a Kingsoft para relatar nossas descobertas. Embora a primeira vulnerabilidade já tivesse sido corrigida, solicitamos a criação de uma entrada CVE e/ou uma declaração pública, como foi feito para a CVE-2022-24934.
  • 2024-05-30: A Kingsoft reconheceu as vulnerabilidades e afirmou que nos manteria informados.
  • 2024-06-17: Solicitamos uma atualização.
  • 2024-06-22: A Kingsoft informou que a equipe de desenvolvimento ainda estava trabalhando no problema e que planejava corrigi-lo na próxima versão.
  • 2024-07-31: Após novos testes, descobrimos que a CVE-2024-7263 havia sido corrigido silenciosamente. Informamos à Kingsoft que estávamos reservando e preparando as entradas CVE-2024-7262 e CVE-2024-7263.
  • 2024-08-11: A equipe da DBAPPSecurity publicou suas descobertas de forma independente.
  • 2024-08-15: CVE-2024-7262 e CVE-2024-7263 foram publicados.
  • 2024-08-16: Solicitamos à Kingsoft outra atualização.
  • 2024-08-22: A Kingsoft confirmou ter corrigido a CVE-2024-7263 no final de maio, o que contradiz a declaração da empresa feita em 22 de junho de 2024 de que sua equipe de desenvolvimento "ainda estava trabalhando na solução".
  • 2024-08-28: A Kingsoft reconheceu ambas as vulnerabilidades e que as corrigiu. No entanto, não demonstrou interesse em tornar pública a exploração in-the-wild da CVE-2024-7262, o que nos levou a publicar este blog post para alertar os clientes da Kingsoft sobre a necessidade urgente de atualizar o WPS Office devido à exploração in-the-wild e à divulgação da vulnerabilidade por terceiros, o que aumenta o risco de novas explorações.

A vulnerabilidade CVE-2024-7262 surge de uma falha na sanitização de um caminho de arquivo fornecido pelo atacante e na falta de validação do complemento que está sendo carregado. Após analisar o patch, identificamos uma outra forma de explorar a vulnerabilidade, explorando uma falha lógica diferente.

Para saber mais detalhes sobre a pesquisa destacada neste post, confira a publicação (em inglês): Analysis of two arbitrary code execution vulnerabilities affecting WPS Office.