Warum ist set exrc gefährlich?

10

Ich habe set exrcan verschiedenen Stellen erwähnt, dass .vimrcDateien pro Verzeichnis verwendet werden, aber jedes Mal, wenn es erwähnt wurde, wurde mit starker Ermahnung, es nicht wirklich zu verwenden, weil es gefährlich ist. Ich bin auch set secureauf etwas gestoßen, das einen Teil der Erbgefahr beheben soll set exrc, aber selbst damit scheint der Konsens nicht zu nutzen set exrc.

Ich habe einiges darüber gehört, warum, aber was genau sind die Gefahren bei der Verwendung set exrcmit oder ohne set secure?

SchnarchenFrosch
quelle

Antworten:

13

Da Sie vim anweisen, einige Befehle aus einer Datei auszuführen, haben Sie möglicherweise keine Kontrolle darüber, oder jemand anderes hätte schreiben können. Angenommen, Sie nehmen etwas von Github und tief im Baum befindet sich eine .vimrc. Wenn Sie etwas in diesem Verzeichnis vim haben und haben set exrc, weisen Sie vim an, die Befehle in der .vimrc auszuführen, die Sie von github erhalten haben. Vertrauen Sie demjenigen, der diese Datei erstellt hat, vollkommen? Weil Sie vim alle Befehle ausführen lassen, die sie in diese Datei einfügen. Oder sagen Sie, Sie befinden sich auf einem Computer, der regelmäßig von mehreren Personen verwendet wird (diese sind noch vorhanden :-)), und jemand bittet Sie, sich etwas in seinem Home-Verzeichnis (oder / tmp oder an einem beliebigen Ort, an den sie schreiben können) anzusehen. Sie CD dort, es ist eine Textdatei, also machen Sie eine vim file. Mitset exrcSie weisen vim außerdem an, die Befehle in .vimrc in diesem Verzeichnis auszuführen. Vertrauen Sie diesem Benutzer oder in einem weltweit beschreibbaren Verzeichnis wie / tmp jedem Benutzer, der sich bei diesem Computer anmelden kann, vollkommen?

set secureDas Problem wird etwas gemildert, indem einige Dinge eingeschränkt werden, die in einer .vimrc-Datei ausgeführt werden können. Wenn jedoch die vimrc-Datei pro Verzeichnis als Eigentum von Ihnen erstellt werden kann (z. B. im Github-Beispiel oder auf einem Mehrbenutzer-Computer, auf dem einige Benutzer vorhanden sind) kann Dateien an Sie chown), set securewird ignoriert, so dass Sie immer noch die gleichen Probleme haben.

blm
quelle