Vulnerabilitéit am Vim déi zu Code Ausféierung féiert wann Dir eng béiswëlleg Datei opmaacht

An Text Editoren Vim и neovim fonnt Schwachstelle (CVE-2019-12735), wat erlaabt arbiträr Code auszeféieren wann Dir eng speziell entwéckelt Datei opmaacht. De Problem geschitt wann den Default Modeline Modus (": Set modeline") aktiv ass, wat Iech erlaabt d'Editéierungsoptiounen an der veraarbechter Datei ze definéieren. Vulnerabilitéit fixéiert a Verëffentlechungen
Vim 8.1.1365 и Neovim 0.3.6.

Nëmmen eng limitéiert Zuel vun Optiounen kann via modeline installéiert ginn. Wann en Ausdrock als Optiounswäert uginn ass, gëtt et am Sandbox Modus ausgefouert, wat nëmmen déi einfachst sécher Operatiounen erlaabt. An dësem Fall enthält de gëltege Kommando de Kommando ": Source", an deem Dir den "!" Modifikateur benotzt. fir arbiträr Befehle vun der spezifizéierter Datei auszeféieren. Also, fir de Code auszeféieren, ass et genuch fir an der Modelllinn eng Konstruktioun unzeginn wéi "set foldexpr=execute('\:source! Some_File'):". An Neovim ass Ausféierung ruffen verbueden, awer assert_fails kann amplaz benotzt ginn.

Zum Beispill, fir de Kommando "uname -a" auszeféieren, einfach eng Datei op Vim oder Neovim opmaachen, deem seng éischt oder lescht Zeil seet:

:!uname -a||» vi:fen:fdm=expr:fde=assert_fails(“source\!\ \%”):fdl=0:fdt=”

Firma "Quell! %" liest d'Befehle vun der aktueller Datei an ausféiert deementspriechend ":!uname -a". Flucht Sequenzen kënne benotzt ginn fir eng gegebene Linn vum Output vum Cat Utility ze verstoppen. Zum Beispill, an dësem Prototyp ausnotzen Wann Dir eng Datei am vim opmaacht, gëtt eng Netzwierkverbindung erstallt mat Shell-Zougang zum System vum Affer, awer dës Datei wäert kee Verdacht erwächen wann se op den Terminal mat der Kaz Utility erausginn.

Dir kënnt d'Aktivitéit vum Modeline Modus iwwerpréiwen mam Kommando ": Set modeline?". Fir et auszeschalten, kënnt Dir d'Linn "set nomodeline" op vimrc addéieren. An Distributiounen ass de Problem fixéiert RHEL, SUSE/openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux и Alt. Der Schwachstelle bleift unpatched an Debian (an Debian Modeline ass als Standard deaktivéiert, sou datt d'Schwachheet net am Standardzoustand erschéngt).

Source: opennet.ru

Setzt e Commentaire