Una vulnerabilità nel comando wall del pacchetto util-linux che fa parte del sistema operativo Linux potrebbe consentire a un aggressore senza privilegi di rubare password o modificare gli appunti della vittima. Tracciato come CVE-2024-28085, il problema di sicurezza soprannominato WallEscape è stato presente in ogni versione del pacchetto negli ultimi 11 anni fino alla 2.40. Sebbene la vulnerabilità sia un esempio interessante di come un utente malintenzionato possa ingannare un utente inducendolo a fornire la propria password di amministratore, lo sfruttamento è probabilmente limitato a determinati scenari. Un utente malintenzionato deve avere accesso a un server Linux a cui sono già collegati più utenti contemporaneamente tramite il terminale. Il ricercatore di sicurezza Skyler Ferrante, che ha scoperto WallEscape, lo descrive come un comando di "neutralizzazione impropria delle sequenze di fuga nel wall".
WallEscape: come viene sfruttata la vulnerabilità su Linux
WallEscape influisce sul comando "wall". Questo viene utilizzato su Linux per trasmettere messaggi ai terminali di tutti gli utenti registrati sullo stesso sistema, come un server. Un utente senza privilegi potrebbe sfruttare tale vulnerabilità. Basta utilizzare caratteri di controllo di escape per creare un falso prompt SUDO sui terminali di altri utenti e indurli a digitare la password di amministratore. Il ricercatore mostra un esempio con i passaggi per creare un falso prompt sudo per il terminale GNOME per indurre l'utente a digitare la password come argomento della riga di comando. Ciò richiede alcune precauzioni, possibili utilizzando il comando wall per passare al target uno script che modifica l'input nel terminale in modo che la richiesta di password falsa passi come una richiesta legittima. Per trovare la password, bisogna controllare il file /proc/$pid/cmdline per gli argomenti del comando. Questi sono visibili agli utenti non privilegiati su più distribuzioni Linux.
La questione della sicurezza può essere sfruttata a determinate condizioni. Ferrante spiega che lo sfruttamento è possibile se l'utility "mesg" è attiva e il comando wall ha permessi setgid. Il ricercatore nota che entrambe le condizioni sono presenti su Ubuntu 22.04 LTS (Jammy Jellyfish) e Debian 12.5 (Bookworm) ma non su CentOS. lo sfruttamento di WallEscape dipende dall'accesso locale (fisico o remoto tramite SSH), che ne limita la gravità. Il rischio deriva da utenti non privilegiati che hanno accesso allo stesso sistema della vittima in impostazioni multiutente, come il server di un'organizzazione. Si consiglia agli utenti di eseguire l'aggiornamento a linux-utils v2.40 per correggere la vulnerabilità. Gli amministratori di sistema possono mitigare CVE-2024-28085 immediatamente rimuovendo le autorizzazioni setgid dal comando 'wall'. In alternativa, è possibile disabilitare la funzionalità di trasmissione dei messaggi utilizzando il comando 'mesg' per impostare il relativo flag su 'n'.