
PluckCMS 4.7.20 vulnerabilidade Zip Slip resultou em RCE
Este relatório documenta uma vulnerabilidade crítica de segurança descoberta no PluckCMS que permite a atacantes autenticados alcançar execução remota de código através de um vetor de ataque Zip Slip. A vulnerabilidade existe na funcionalidade de upload de módulos e pode ser explorada enviando um arquivo ZIP especialmente criado contendo código PHP malicioso.
4.7.20
Tipo de Vulnerabilidade: Zip Slip levando a Execução Remota de Código (RCE)
Componente Afetado: Sistema de Gerenciamento de Módulos (Opções → Gerenciar Módulos)
Vetor de Ataque: Upload de arquivo ZIP malicioso
Autenticação Necessária: Sim (acesso ao painel administrativo)
Severidade: Crítica
A vulnerabilidade decorre da validação e sanitização inadequadas do conteúdo do arquivo ZIP durante o processo de upload do módulo. O PluckCMS permite que administradores façam upload de módulos no formato ZIP sem validar adequadamente os caminhos de arquivo contidos no arquivo. Isso permite que um atacante crie um arquivo ZIP malicioso que explora vulnerabilidades de path traversal, permitindo a colocação arbitrária de arquivos no sistema de arquivos do servidor.
Quando um arquivo ZIP é extraído, o aplicativo falha ao verificar se os arquivos extraídos permanecem dentro da estrutura de diretórios pretendida. Um atacante pode aproveitar essa fraqueza para escrever arquivos PHP maliciosos em locais acessíveis pela web, executando subsequentemente código arbitrário no servidor.
A vulnerabilidade pode ser reproduzida usando o seguinte ambiente:
git clone https://github.com/pluck-cms/pluck.git
cd pluck
ddev config --project-type=php --docroot=.
ddev start
URL Hospedada : http://pluck.ddev.site
Um payload de prova de conceito demonstrando capacidade de execução de comandos foi usado durante os testes. O payload utiliza funções de execução de sistema do PHP para executar comandos do sistema operacional.
<?php
$fn = "sys" . "tem";
(string) $fn("id");
?>
A exploração bem-sucedida desta vulnerabilidade permite que um atacante autenticado com acesso administrativo:
Embora a vulnerabilidade exija autenticação administrativa, ela representa um risco crítico de segurança, pois fornece um caminho direto para a total comprometimento do sistema.