Уразливість у Vim дозволила виконувати код під час відкриття TXT

Vim

У попередньо встановлених текстових редакторах у різних дистрибутивах виправлена ​​нова уразливість Знайдено Linux у текстових редакторах Vim та Neovim (CVE-2019-12735).

Помилка, знайдена в цих редакторах дозволяє хакерам керувати комп’ютерами, коли користувачі відкривають шкідливий текстовий файл. Проблема проявляється в активованій за замовчуванням діяльності modeline (": встановити modeline"), що дозволяє визначити параметри редагування у файлі, який обробляється.

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

Ця функція ввімкнена за замовчуванням у версіях до Vim 8.1.1365 Neovim 0.3.6 і застосовується до всіх типів файлів, включаючи файли .txt.

Про вразливість у Vim

Через Моделін, допускається лише обмежена кількість варіантів. SЯкщо вираз вказано як значення опції, він працює в режимі пісочниці, що дозволяє використовувати лише найпростіші безпечні операції.

Водночас команда ": source" - одна з дозволених, в якій ви можете використовувати модифікатор "!" для запуску довільних команд із зазначеного файлу.

Тому для виконання коду достатньо вказати в модельному рядку конструкцію форми "set foldexpr = execute ('\: source! Some_file'):". У Neovim виклик виконання заборонено, але замість нього можна використовувати assert_fails.

З іншого боку, у пісочниці він призначений для запобігання побічним ефектам:

Параметри 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' та 'foldtext' можуть бути оцінені в пісочниці. Це означає, що ви захищені від цих виразів з неприємними побічними ефектами. Це забезпечує певний захист, коли ці параметри визначаються з моделі.

Хоча моделі обмежують доступні команди і виконують їх в середовищі, ізольованому від операційної системи, дослідник Армін Размжоу зазначив, що команда: font! обійшов цей захист:

"Вона читає та виконує команди у даному файлі так, ніби їх було введено вручну, виконуючи їх після того, як пісочниця залишиться", - написав дослідник у повідомленні, опублікованому на початку цього місяця. -ci.

Таким чином, можна тривіально побудувати рядок моделі, який виконує код за межами пісочниці.

Пошта містить два доказові принципові текстові файли, один з яких графічно ілюструє загрозу.

Один з них відкриває зворотну оболонку на комп’ютері під управлінням 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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.