Pinapayagan ng isang kahinaan sa Vim ang pagpapatupad ng code kapag binubuksan ang isang TXT

kalakasan

Ang isang bagong kahinaan ay naayos sa paunang naka-install na mga editor ng teksto sa iba't ibang mga pamamahagi Natagpuan ang Linux sa mga editor ng teksto ng Vim at Neovim (CVE-2019-12735).

Natagpuan ang bug sa mga editor na ito Pinapayagan ang mga hacker na makontrol ang mga computer kapag binuksan ng mga gumagamit ang isang nakakahamak na file ng teksto. Ang problema ay ipinakita sa aktibidad ng modelo na pinagana ng default (": set modeline"), na nagbibigay-daan sa iyo upang tukuyin ang mga pagpipilian sa pag-edit sa file na pinoproseso.

Ang Vim at ang fork na NeoVim ay naglalaman ng isang kapintasan na naninirahan sa mga modelo. Pinapayagan ng tampok na ito ang mga gumagamit na tukuyin ang mga sukat ng window at iba pang mga pasadyang pagpipilian na malapit sa simula o pagtatapos ng isang text file.

Ang tampok na ito ay pinapagana ng default sa mga bersyon bago ang Vim 8.1.1365 Neovim 0.3.6 at nalalapat sa lahat ng mga uri ng file, kabilang ang mga .txt file.

Tungkol sa kahinaan sa Vim

Sa pamamagitan ng Modeline, isang limitadong bilang lamang ng mga pagpipilian ang pinapayagan. SKung ang isang expression ay tinukoy bilang isang halaga ng pagpipilian, tumatakbo ito sa mode ng sandbox, na nagbibigay-daan lamang sa pinakamadaling ligtas na mga operasyon na gagamitin.

Kasabay nito, ang utos na ": mapagkukunan" ay isa sa mga pinapayagan, kung saan maaari mong gamitin ang modifier na "!" upang magpatakbo ng di-makatwirang mga utos mula sa tinukoy na file.

Samakatuwid, upang maipatupad ang code, sapat na upang ipahiwatig sa linya ng modelo ang isang konstruksyon ng form na "set foldexpr = execute ('\: source! Some_file'):". Sa Neovim, ipinagbabawal ang tawag sa pagpapatupad, ngunit maaaring gamitin ang mga assert_fail sa halip.

Sa kabilang banda, sa sandbox, ito ay dinisenyo upang maiwasan ang mga epekto:

Ang mga pagpipilian na 'foldexpr', 'formatexpr', 'compreexpr', 'indentexpr', 'statusline' at 'foldtext' ay maaaring suriin lahat sa isang sandbox. Nangangahulugan ito na protektado ka laban sa mga expression na ito na may hindi kasiya-siyang epekto. Nagbibigay ito ng ilang seguridad kapag ang mga pagpipiliang ito ay tinukoy mula sa isang modelo.

Habang nililimitahan ng mga modelo ang mga magagamit na utos at isinasagawa ang mga ito sa isang kapaligiran na nakahiwalay sa operating system, Ang mananaliksik na si Armin Razmjou ay nabanggit na ang utos na: font! iniwasan ang proteksyon na ito:

"Binabasa at isinasagawa niya ang mga utos sa isang naibigay na file na para bang naipasok nang manu-mano, na naisasagawa ang mga ito sa sandaling naiwan ang sandbox," isinulat ng mananaliksik sa isang mensahe na na-publish mas maaga sa buwang ito. -ci.

Sa gayon, maaaring walang gaanong bumuo ng isang linya ng modelo na nagpapatupad ng code sa labas ng sandbox.

Kasama sa post ang dalawang mga file ng teksto na patunay ng prinsipyo, isa sa mga graphic na naglalarawan ng banta.

Ang isa sa kanila ay magbubukas ng isang reverse shell sa computer na nagpapatakbo ng Vim o NeoVim. Mula doon, maaaring ilunsad ng mga umaatake ang mga utos na kanilang napili sa hinihiling na makina.

"Inilalarawan ng PoC na ito ang isang tunay na diskarte sa pag-atake kung saan inilunsad ang isang reverse shell kapag binuksan ng gumagamit ang file," sumulat si Razmjou. Upang maitago ang pag-atake, agad na sususulat muli ang file kapag binuksan ito. Gayundin, gumagamit ang PoC ng mga pagkakasunud-sunod ng pagtakas ng terminal upang maitago ang linya ng modelo kapag ang nilalaman ay nai-print sa pusa. (ipinapakita ng cat -v ang aktwal na nilalaman). «

Ang kahinaan sa pagpapatupad ng utos ay nangangailangan ng pag-aktibo ng karaniwang pag-andar ng pagmomodelo, tulad ng sa ilang mga pamamahagi ng Linux bilang default. Ang depekto ay matatagpuan sa Vim bago ang bersyon 8.1.1365 at sa Neovim bago ang bersyon 0.3.6.

Ang payo na ito mula sa National Vulnerability Database ng National Institute of Standards and Technology ay ipinapakita na ang mga distribusyon ni Debian at Fedora Linux ay nagsimulang maglabas ng mga naayos na bersyon.

Sa mga pamamahagi, nalulutas ang problema sa RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux, at ALT.

Ang kahinaan ay nananatiling hindi naitama sa Debian (Sa modelo ng Debian ay hindi pinagana ito bilang default, sa gayon ang kahinaan ay hindi nagpapakita sa default na estado).

Ang pinakabagong bersyon ng MacOS ay patuloy na gumagamit ng isang mahina na bersyon, bagaman gagana lamang ang mga pag-atake kapag binago ng mga gumagamit ang isang default na setting na pinagana ang tampok na mga modelo.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.