
Vulnerabilità Zip Slip in PluckCMS 4.7.20 ha portato a RCE
Questo rapporto documenta una vulnerabilità di sicurezza critica scoperta in PluckCMS che consente a un attaccante autenticato di ottenere l'esecuzione remota di codice attraverso un vettore d'attacco Zip Slip. La vulnerabilità risiede nella funzionalità di upload dei moduli e può essere sfruttata caricando un archivio ZIP appositamente predisposto contenente codice PHP malevolo.
4.7.20
Tipo di Vulnerabilità: Zip Slip che porta all'Esecuzione Remota di Codice (RCE)
Componente Interessato: Sistema di Gestione Moduli (Options → Manage Modules)
Vettore d'Attacco: Caricamento di file ZIP malevolo
Autenticazione Richiesta: Sì (Accesso al pannello di amministrazione)
Gravità: Critica
La vulnerabilità deriva da una convalida e sanificazione inadeguate dei contenuti degli archivi ZIP durante il processo di upload dei moduli. PluckCMS consente agli amministratori di caricare moduli in formato ZIP senza verificare adeguatamente i percorsi dei file contenuti nell'archivio. Ciò consente a un attaccante di creare un file ZIP malevolo che sfrutta vulnerabilità di path traversal, permettendo il posizionamento arbitrario di file nel filesystem del server.
Quando un archivio ZIP viene estratto, l'applicazione non verifica che i file estratti rimangano all'interno della struttura di directory prevista. Un attaccante può sfruttare questa debolezza per scrivere file PHP malevoli in posizioni accessibili via web, eseguendo successivamente codice arbitrario sul server.
La vulnerabilità può essere riprodotta utilizzando il seguente ambiente:
git clone https://github.com/pluck-cms/pluck.git
cd pluck
ddev config --project-type=php --docroot=.
ddev start


Hosted URL : http://pluck.ddev.site







Durante i test è stato utilizzato un payload di prova che dimostra la capacità di esecuzione di comandi. Il payload sfrutta le funzioni di esecuzione di sistema di PHP per eseguire comandi del sistema operativo.
<?php
$fn = "sys" . "tem";
(string) $fn("id");
?>
Lo sfruttamento riuscito di questa vulnerabilità consente a un attaccante autenticato con accesso amministrativo di:
Sebbene la vulnerabilità richieda l'autenticazione amministrativa, rappresenta un rischio di sicurezza critico in quanto fornisce un percorso diretto per il compromesso totale del sistema.