Attenzione agli utenti Linux! La vulnerabilità in Vim o Neovim Editor potrebbe compromettere il tuo Linux

CVE-2019-12735: l’apertura di un file appositamente predisposto in Vim o Neovim Editor potrebbe hackerare il tuo sistema Linux

Esperto di sicurezza Armin razmjou Recentemente è stata rilevata una vulnerabilità arbitraria di esecuzione dei comandi del sistema operativo ad alto rischio (CVE-2019-12735) in Vim e Neovim.

Per quelli di voi che non lo sanno, Vim e Neovim sono le due applicazioni di modifica del testo da riga di comando più popolari e potenti che vengono preinstallate sulla maggior parte delle distribuzioni Linux. Vim è un editor di testo che consente agli utenti di creare, visualizzare o modificare qualsiasi file, inclusi testo, documenti e script di programmazione. D’altra parte, Neovim è un fork di Vim che mira a migliorare l’esperienza dell’utente, i plugin e le GUI (interfacce utente grafiche). Di conseguenza, la vulnerabilità all’esecuzione del codice è presente anche in Neovim.

“Vim prima della 8.1.1365 e Neovim prima della 0.3.6 sono vulnerabili all’esecuzione di codice arbitrario tramite modeline quando si apre un file di testo appositamente predisposto.” leggi il avviso di sicurezza Inserito dall’esperto.

Razmjou scoperto la vulnerabilità nel modo in cui l’editor Vim gestisce l’opzione “modelines”. La funzione della linea del modello consente di specificare opzioni di editor personalizzate vicino all’inizio o alla fine di un file. Questa funzione è abilitata per impostazione predefinita e si applica a tutti i tipi di file, incluso il semplice .txt.

Solo un sottoinsieme di opzioni è consentito nelle modeline per motivi di sicurezza e, se un’espressione è inclusa nel valore dell’opzione, viene eseguita nella sandbox.

Tuttavia, Razmjou ha scoperto che: fonte! comando (con l’esplosione [!] modificatore) può essere utilizzato per saltare la lettiera. Leggere ed eseguire comandi da un determinato file come se fossero stati digitati manualmente, eseguendoli dopo l’uscita dalla sandbox. In altre parole, è possibile sviluppare una linea di modello in grado di eseguire codice al di fuori della sandbox.

L’esperto ha dimostrato che è possibile per gli aggressori sfruttare la vulnerabilità CVE-2019-12735, che consente loro di hackerare i sistemi delle vittime inducendole ad aprire un file dall’aspetto innocente appositamente predisposto in Vim o Neovim Editor.

Razmjou ha rilasciato al pubblico due exploit proof-of-concept, uno dei quali dimostra uno scenario di attacco reale in cui un aggressore remoto ottiene l’accesso a una shell inversa.

“Questo PoC descrive un approccio di attacco nella vita reale in cui viene lanciata una shell inversa una volta che l’utente apre il file. Per mascherare l’attacco, il file verrà immediatamente riscritto quando verrà aperto”, continua il post. “Inoltre, il PoC utilizza sequenze di escape del terminale per nascondere la riga della modalità quando il contenuto viene stampato con cat. (cat -v rivela il contenuto effettivo)”.

I team di sviluppo per Vim (patch 8.1.1365) e Neovim (rilasciato nella v0.3.6) hanno già rilasciato aggiornamenti di sicurezza su entrambe le utility per risolvere la vulnerabilità.

Oltre alla patch, il ricercatore di sicurezza suggerisce agli utenti anche che:

  • disabilita la funzione modelines in vimrc (set nomodeline)
  • usa il “plug-in per modelli sicuri”, un’alternativa sicura ai modelli Vim
  • disabilita “modelineexpr” per non consentire le espressioni in modelines

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *