Vim Modeline Vulnerabilities

16

Uso vim e ho un use case for modelines . Una modeline significa che vim analizzerà un file di testo per linee come:

# vim: set someoption=somevalue

e quindi imposterà quelle opzioni. Questo è fantastico se io sono la persona che scrive le modeline, ma potrebbe anche scomporre l'ipotesi che io possa aprire file di testo non fidati con il mio editor di testo senza alcun danno.

Supponiamo che io stia utilizzando una versione aggiornata di vim. Supponiamo che non mi dispiaccia se qualcuno può impostare opzioni fastidiose che fanno sembrare le cose brutte (ad esempio, fare scherzi con la larghezza della tablatura). Cosa potrebbe fare un file di testo dannoso?

Grazie!

    
posta Sam King 16.05.2013 - 01:08
fonte

3 risposte

8

Anche se in teoria le modeline non dovrebbero consentire di fare qualcosa di male, l'input delle funzioni di modellizzazione è difficile. Ci sono stati diversi problemi di sicurezza in passato che hanno consentito l'esecuzione di comandi arbitrari o attacchi DoS. Per citare alcune vulnerabilità passate ho potuto trovare:

Anche se credo che siano stati tutti corretti, è probabile che in futuro vengano scoperte vulnerabilità simili, motivo per cui le distribuzioni disabilitano le modeline di default (almeno Debian e SuSE).

    
risposta data 20.04.2017 - 17:16
fonte
0

In passato le modeline Vim avevano errori di esecuzione di codice arbitrari.
Quindi potrebbero fare molto danno in passato.

Notato per la prima volta in 6.3, risolto, alcuni vulns simili trovati più tardi.

Poiché il rischio è intrinseco (miscelazione di dati e codice), le modeline sono generalmente disabilitate per root.

Per come l'ho capito, i bug precedenti erano corretti, quindi ad eccezione dei problemi non pubblicati, utilizzando Vim moderno è sicuro aprire file non attendibili con le modeline.

    
risposta data 16.11.2015 - 23:20
fonte
-1

Idealmente non molto, ma in pratica non è l'ideale come suggerirebbe l'ideale.

Cerca solo vulnerabilità di modelim vim per alcuni esempi di come questo sia andato storto il passato. Questo fa parte del motivo per cui il supporto modeline è disabilitato di default se si sta eseguendo vim come root.

    
risposta data 16.05.2013 - 06:16
fonte

Leggi altre domande sui tag