Falha de execução remota de código no `ShowDoc` é explorada em servidores sem correção

Falha de execução remota de código no `ShowDoc` é explorada em servidores sem correção

A vulnerabilidade CVE-2025-0520 permite upload não autenticado de arquivos PHP em versões anteriores à 2.8.7, com risco de instalação de web shell e execução de código no servidor.

ComponenteShowDoc, serviço de gerenciamento de documentos e colaboração, em versões anteriores à 2.8.7.
VetorUpload de arquivo sem autenticação e sem validação adequada de extensão, permitindo envio de arquivo PHP arbitrário.
ImpactoInstalação de web shell e execução remota de código no servidor vulnerável.
PrioridadeAtualizar para versão corrigida ou mais recente, verificar diretórios de upload e investigar artefatos PHP inesperados.
VersõesA correção foi disponibilizada no ShowDoc 2.8.7, lançado em outubro de 2020; a versão atual informada é 3.8.1.
IdentificadorCVE-2025-0520, também referenciada como CNVD-2020-26585, com pontuação CVSS 9.4.
Resumo técnico

A vulnerabilidade CVE-2025-0520 afeta o ShowDoc, uma aplicação de gerenciamento de documentos e colaboração descrita como popular na China. O problema está em versões anteriores à 2.8.7 e decorre de um mecanismo de upload de arquivos que não valida corretamente a extensão do conteúdo recebido. Como o fluxo vulnerável também é descrito como não autenticado, um atacante remoto não precisa de uma conta válida na aplicação para tentar enviar um arquivo PHP arbitrário ao servidor. Quando esse arquivo fica acessível e é processado pelo ambiente web, o resultado técnico confirmado é a execução remota de código.

A falha recebeu pontuação CVSS 9.4, o que reflete a combinação de pré-condições reduzidas, ausência de autenticação no caminho vulnerável e impacto direto sobre o servidor. A exploração observada consistiu no uso da falha para gravar uma web shell em um honeypot localizado nos Estados Unidos e executando uma versão vulnerável do ShowDoc. Esse detalhe é importante para a resposta defensiva porque o risco não é apenas um crash, uma leitura indevida ou um bypass lógico: o comportamento observado envolve a criação de um ponto de execução persistente no ambiente web, ainda que o material analisado não sustente afirmar exfiltração de dados, movimentação lateral ou comprometimento de outros ativos.

A correção existe desde o ShowDoc 2.8.7, disponibilizado em outubro de 2020, e a versão atual informada é 3.8.1. Mesmo assim, a exploração ativa mostra o padrão típico de vulnerabilidades N-day: falhas corrigidas há anos continuam úteis para operadores ofensivos quando instâncias antigas permanecem expostas à internet. Foram identificadas mais de 2.000 instâncias de ShowDoc online, com a maior parte localizada na China. Esse número não prova que todas estejam vulneráveis, mas indica uma superfície pública suficiente para busca automatizada por instalações desatualizadas.

Fluxo técnico

O ponto central da CVE-2025-0520 é um upload irrestrito de arquivo associado à validação incorreta da extensão. Em uma implementação segura, o servidor deve limitar tipos aceitos, validar o conteúdo e impedir que arquivos enviados por usuários sejam interpretados como código executável. No caso descrito, o controle falho permite que um arquivo PHP arbitrário seja aceito. Como o servidor web pode tratar PHP como código, o arquivo deixa de ser apenas um artefato armazenado e passa a representar uma interface de execução no host que hospeda o ShowDoc.

A exploração observada usou essa condição para depositar uma web shell. Uma web shell, nesse contexto, é um arquivo interpretado pelo servidor que permite ao operador remoto acionar funções no ambiente da aplicação. A análise defensiva deve manter a descrição nesse nível: o risco confirmado é que o atacante consiga executar código no servidor vulnerável após gravar o arquivo malicioso. Não há dado suficiente para afirmar quais comandos foram executados, quais arquivos foram acessados, se houve coleta de credenciais, ou se a intrusão avançou para outros sistemas. A investigação local precisa validar esses pontos por evidência de logs, integridade de arquivos, processos e conexões de rede.

A ausência de autenticação no fluxo vulnerável amplia o risco operacional. Em vez de depender de credenciais roubadas ou de uma sessão legítima, o atacante pode direcionar a requisição ao endpoint de upload exposto pela aplicação vulnerável. A condição necessária é que a instância esteja executando uma versão anterior à 2.8.7 e que o caminho afetado esteja acessível. Ambientes atrás de controles de rede, autenticação reversa, filtragem de requisições ou segmentação podem reduzir a exposição, mas esses controles não substituem a atualização porque a falha está na lógica da própria aplicação.

O alias CNVD-2020-26585 mostra que a vulnerabilidade também aparece em outro sistema de catalogação, enquanto CVE-2025-0520 é o identificador usado no relato atual. Para equipes de gestão de vulnerabilidades, a coexistência dos dois nomes exige cuidado na deduplicação: scanners, inventários e registros internos podem apontar para um ou outro identificador. O ativo deve ser tratado como o mesmo risco quando o produto, a versão e a condição de upload não autenticado coincidirem.

Superfície afetada

A superfície afetada é composta por instâncias do ShowDoc anteriores à versão 2.8.7, especialmente aquelas acessíveis pela internet. O produto é usado para colaboração e documentação, o que normalmente implica armazenamento de páginas, anexos, projetos e conteúdo técnico interno. O material analisado não permite afirmar exposição ou vazamento desse material, mas a execução remota de código no servidor que hospeda a aplicação coloca o ambiente em uma zona de risco elevada. O impacto imediato é sobre a integridade do host e da aplicação; impactos adicionais dependem de permissões do processo web, configuração do servidor, localização dos arquivos e conectividade com outros sistemas.

A correção foi publicada em outubro de 2020, portanto ambientes que ainda executam ramos antigos devem ser tratados como exceções operacionais que exigem inventário e validação. A versão atual informada é 3.8.1, o que fornece um alvo claro para atualização quando a compatibilidade permitir. Quando a atualização direta não for viável no curto prazo, a defesa deve reduzir a exposição, bloquear acesso público desnecessário e procurar evidências de upload de PHP em diretórios que deveriam conter apenas anexos ou conteúdo estático.

A presença de mais de 2.000 instâncias online indica que o produto tem exposição pública mensurável. A maior concentração foi observada na China, mas a exploração em um honeypot localizado nos Estados Unidos demonstra que a busca por alvos não se limita necessariamente a uma região. A decisão de prioridade deve considerar a versão instalada, a exposição do serviço, a capacidade de upload sem autenticação e a presença de arquivos suspeitos já gravados no sistema.

  • Instâncias de ShowDoc anteriores à 2.8.7 expostas à internet ou acessíveis por redes não confiáveis.
  • Servidores em que uploads de usuários possam ser gravados em caminhos interpretados pelo servidor web como PHP.
  • Ambientes que ainda não migraram para a versão corrigida, apesar da correção existir desde outubro de 2020.
  • Inventários de vulnerabilidades que registrem CVE-2025-0520 ou CNVD-2020-26585 como achados separados para o mesmo ativo.
Hunting e telemetria

A investigação deve começar pela confirmação de versão e pela revisão dos caminhos de upload da aplicação. O sinal técnico mais importante é a presença de arquivos PHP criados em diretórios onde anexos, imagens ou documentos deveriam ser armazenados como dados passivos. Arquivos com nomes aleatórios, timestamps recentes, baixa similaridade com o padrão normal da aplicação ou conteúdo incompatível com anexos legítimos devem ser preservados para análise forense antes da remoção. A criação do arquivo é apenas uma parte do evento; a defesa também deve procurar requisições subsequentes que acionem esse arquivo pelo servidor web.

Nos logs HTTP, procure sequências em que uma requisição de upload seja seguida por acesso direto a um arquivo recém-criado. A ausência de autenticação no vetor relatado torna relevantes requisições vindas de origens sem sessão válida, sem histórico de navegação legítima ou com padrões automatizados. Não é necessário publicar payloads nem reproduzir a exploração para validar o risco; a telemetria defensiva pode se concentrar em método, caminho, tipo de arquivo, código de resposta, tamanho da resposta e correlação temporal entre gravação e execução.

No endpoint, a execução de uma web shell pode aparecer como atividade anômala do processo do servidor web ou do interpretador PHP. O comportamento depende da configuração local, mas sinais úteis incluem criação de processos incomuns como filho do serviço web, leitura ou escrita fora dos diretórios esperados da aplicação, alterações em permissões de arquivos e conexões de saída iniciadas logo após acesso a um arquivo PHP recém-enviado. Esses sinais devem ser tratados como indícios para investigação, não como prova isolada de comprometimento, porque ambientes web podem ter automações legítimas que também gravam arquivos.

A análise de rede deve observar conexões originadas do servidor vulnerável após tentativas de upload ou acesso a arquivos suspeitos. O material analisado não fornece domínios, IPs, hashes ou famílias de malware, portanto não há indicadores específicos para publicar. A abordagem mais segura é caçar classes de comportamento: upload de PHP onde não deveria haver código executável, execução pelo servidor web, atividade de processo incomum e tráfego de saída sem relação com a função normal do ShowDoc.

  • Arquivos .php em diretórios de upload, anexos ou conteúdo estático associados ao ShowDoc.
  • Requisições de upload sem sessão válida ou sem autenticação aparente em instâncias vulneráveis.
  • Acesso HTTP direto a arquivos recém-criados após uma requisição de upload.
  • Processos ou conexões de saída iniciados pelo serviço web ou pelo interpretador PHP depois da criação de arquivos suspeitos.
  • Divergência entre inventário declarado e versão real instalada no servidor.
Mitigação

A medida principal é atualizar o ShowDoc para uma versão corrigida, no mínimo 2.8.7, preferencialmente para a versão mais recente compatível com o ambiente, informada como 3.8.1. A atualização deve ser acompanhada de validação de versão no host, não apenas de registro em inventário, porque aplicações web mantidas manualmente podem ter cópias antigas, diretórios paralelos ou instâncias de teste ainda expostas. Quando houver múltiplos servidores, cada instância precisa ser conferida individualmente.

Antes de simplesmente apagar artefatos suspeitos, preserve evidências suficientes para reconstruir o período de exposição. Isso inclui logs HTTP, metadados de arquivos criados em diretórios de upload, registros do sistema operacional e, quando disponível, telemetria de endpoint. Se uma web shell for encontrada, a resposta deve assumir execução de código no servidor afetado até que a investigação demonstre o contrário. Esse enquadramento não significa presumir vazamento de dados ou movimentação lateral sem evidência; significa tratar o host como potencialmente alterado e validar integridade, permissões e atividade recente.

Controles compensatórios podem reduzir risco enquanto a atualização é planejada, mas não eliminam a falha. Restringir acesso ao ShowDoc por VPN, lista de redes confiáveis ou camada de autenticação reversa diminui a exposição do endpoint vulnerável. Regras de servidor web devem impedir execução de PHP em diretórios destinados a uploads, quando a arquitetura permitir. Monitoramento de integridade deve alertar sobre criação de scripts em caminhos de anexos. Essas ações são especialmente importantes para servidores que não podem ser atualizados imediatamente por dependências operacionais.

Após a correção, a validação deve incluir teste de regressão do fluxo legítimo de upload e revisão de arquivos já presentes. Uma instância corrigida ainda pode permanecer comprometida se uma web shell tiver sido gravada antes da atualização. Por isso, a remediação completa combina atualização, limpeza forense, rotação de segredos potencialmente acessíveis ao processo web e revisão de conectividade do servidor. A rotação deve se limitar a credenciais realmente presentes ou acessíveis no ambiente afetado, evitando escopo artificial sem evidência.

  • Atualizar instâncias vulneráveis para ShowDoc 2.8.7 ou versão posterior, com validação direta no servidor.
  • Procurar e preservar arquivos PHP inesperados em diretórios de upload antes de removê-los.
  • Revisar logs HTTP para correlacionar upload, criação de arquivo e acesso posterior ao artefato.
  • Impedir execução de PHP em diretórios de upload quando a configuração do servidor permitir.
  • Reduzir exposição pública do serviço e limitar acesso a redes confiáveis enquanto a correção é aplicada.
  • Investigar o host como potencialmente alterado se houver evidência de web shell ou execução pelo servidor web.

Postar um comentário

0 Comentários