Уязвимост в Vim позволява изпълнение на код при отваряне на TXT

Vim

Нова уязвимост беше отстранена в предварително инсталираните текстови редактори на различни дистрибуции Linux беше намерен в текстовите редактори на Vim и Neovim (CVE-2019-12735).

Грешката, намерена в тези редактори позволява на хакерите да контролират компютрите, когато потребителите отварят злонамерен текстов файл. Проблемът се проявява с активирана по подразбиране моделна дейност (": set modeline"), която ви позволява да дефинирате опциите за редактиране във файла, който се обработва.

Vim и неговата вилка NeoVim съдържаха недостатък, който се намираше в моделите. Тази функция позволява на потребителите да определят размерите на прозореца и други потребителски опции в близост до началото или края на текстов файл.

Тази функция е активирана по подразбиране във версии преди Vim 8.1.1365 Neovim 0.3.6 и се отнася за всички типове файлове, включително .txt файлове.

Относно уязвимостта във Vim

Чрез Моделин, разрешен е само ограничен брой опции. САко израз е посочен като стойност на опцията, той се изпълнява в режим на пясъчник, който позволява да се използват само най-простите безопасни операции.

В същото време, командата ": source" е една от разрешените, в която можете да използвате модификатора "!" за изпълнение на произволни команди от посочения файл.

Следователно, за да се изпълни кода, е достатъчно да се посочи в моделния ред конструкция на формата "set foldexpr = execute ('\: source! Some_file'):". В Neovim повикването за изпълнение е забранено, но вместо това може да се използва assert_fails.

От друга страна, в пясъчника е проектиран да предотвратява странични ефекти:

Опциите „foldexpr“, „formatexpr“, „includeexpr“, „indentexpr“, „statusline“ и „foldtext“ могат да бъдат оценени в пясъчник. Това означава, че сте защитени срещу тези изрази с неприятни странични ефекти. Това осигурява известна сигурност, когато тези опции са дефинирани от модел.

Докато моделите ограничават наличните команди и ги изпълняват в среда, изолирана от операционната система, изследователят Armin Razmjou отбеляза, че командата: font! заобиколи тази защита:

„Тя чете и изпълнява командите в даден файл, сякаш са въведени ръчно, като ги изпълнява, след като пясъчникът е оставен“, пише изследователят в съобщение, публикувано по-рано този месец. -ci.

По този начин човек може тривиално да изгради модел, който изпълнява кода извън пясъчника.

Post включва два текстови файла с доказателство за принцип, един от които графично илюстрира заплахата.

Един от тях отваря обратна обвивка на компютъра с Vim или NeoVim. Оттам нападателите биха могли да стартират командите по свой избор в реквизираната машина.

„Този ​​PoC описва реален подход за атака, при който се стартира обратна обвивка, когато потребителят отвори файла“, пише Razmjou. «За да скриете атаката, файлът ще бъде незабавно пренаписан, когато бъде отворен. Също така PoC използва терминални изходни последователности, за да скрие линията на модела, когато съдържанието се отпечатва с cat. (cat -v разкрива действителното съдържание). «

Уязвимостта при изпълнение на команди изисква активиране на стандартна функционалност за моделиране, както при някои дистрибуции на Linux по подразбиране. Дефектът е открит във Vim преди версия 8.1.1365 и в Neovim преди версия 0.3.6.

Тази препоръка от Националната база данни за уязвимости на Националния институт за стандарти и технологии показва, че дистрибуциите на Debian и Fedora Linux са започнали да пускат фиксирани версии.

В дистрибуциите проблемът е решен в RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux и ALT.

Уязвимостта остава неотстранена в Debian (В Debian modeline е деактивиран по подразбиране, така че уязвимостта не се проявява в състоянието по подразбиране).

Най-новата версия на MacOS продължава да използва уязвима версия, въпреки че атаките работят само когато потребителите са променили настройка по подразбиране, която има активирана функция на моделите.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.