The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Уязвимость в Vim, приводящая к выполнению кода при открытии ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в Vim, приводящая к выполнению кода при открытии ..."  +/
Сообщение от opennews (??), 12-Июн-19, 23:40 
В текстовых редакторах Vim (https://www.vim.org/) и Neovim (https://neovim.io/) найдена уязвимость (https://github.com/numirias/security/blob/master/doc/2019-06... (CVE-2019-12735 (https://security-tracker.debian.org/tracker/CVE-2019-12735)), позволяющая выполнить произвольный код при открытии специально оформленного файла. Проблема проявляется при активности включенного по умолчанию режима modeline (":set modeline"), который позволяет определить в обрабатываемом файле опции редактирования. Уязвимость  устранена в выпусках
Vim  8.1.1365 (https://github.com/vim/vim/commit/5357552) и Neovim 0.3.6 (https://github.com/neovim/neovim/pull/10082).


Через modeline  допускается установка только ограниченного числа опций. Если в качестве значения опции указывается выражение, то оно выполняется в режиме sandbox, допускающем применение только простейших безопасных операций. При этом в число допустимых входит команда ":source", в которой можно использовать модификатор "!" для запуска произвольных команд из указанного файла. Таким образом для выполнения кода достаточно указать в строке modeline конструкцию вида "set foldexpr=execute('\:source! some_file'):". В Neovim вызов execute запрещён, но вместо него можно использовать assert_fails.


Например, для выполнения команды "uname -a" достаточно просто открыть в Vim или Neovim файл, в первой или последней строке которого указано:


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


Компанда "source! %" прочитает команды из текущего файла и,  соответственно, выполнит ":!uname -a". Для скрытия данной строки от вывода утилитой cat могут использоваться escape-последовательности. Например, в данном прототипе эксплоита (https://github.com/numirias/security/blob/master/data/2019-0... при открытии файла в vim создаётся сетевое соединение с shell-доступом на систему жертвы, но при этом данный файл не вызовет подозрений при выводе в терминал утилитой cat.


Проверить активность режима modeline можно командой ":set modeline?". Для отключения в  vimrc можно добавить строку "set nomodeline". В дистрибутивах проблема устранена в RHEL (https://access.redhat.com/security/cve/cve-2019-12735), SUSE/openSUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2019-12735), Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=1718315), FreeBSD (https://www.freshports.org/editors/vim/), Ubuntu (https://usn.ubuntu.com/4016-1/)  и Arch Linux (https://security.archlinux.org/CVE-2019-12735). Уязвимость остаётся неисправленной в  Debian (https://security-tracker.debian.org/tracker/CVE-2019-12735).

URL: https://nvd.nist.gov/vuln/detail/CVE-2019-12735
Новость: https://www.opennet.ru/opennews/art.shtml?num=50857

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от zzz (??), 12-Июн-19, 23:40   +5 +/
Докатились, уже для текстовых редакторов начали писать эксплоиты. ee спасет мир.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #28

2. Сообщение от Аноним (2), 12-Июн-19, 23:54   +9 +/
С разморозкой. Ты просто remote code execution в Atom пропустил.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #8

3. Сообщение от Аноним (3), 12-Июн-19, 23:56   –8 +/
У меня vim - симлинк на nano. Я всё правильно сделал?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #33, #34, #43, #57

5. Сообщение от Канделябры (?), 13-Июн-19, 00:09   –13 +/
Ну не знаю. Преподносить "фичи" редактора, который использовался в то время, когда ещё "стрелки" на клаве не придумали.. Вот в этом весь столлманизм, вся гнутость, я считаю. Цинизм дурака.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #17

7. Сообщение от RNZ (ok), 13-Июн-19, 00:15   +/
На 8.1.320 не воспроизводится
Вместо cat использую less
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #45, #47

8. Сообщение от Аноним Анонимович Анонимов (?), 13-Июн-19, 00:15   +2 +/
Менее двух недель назад windows сообщество обсуждало уязвимость notepad.exe.

https://www.securitylab.ru/news/499294.php
https://habr.com/ru/news/t/454118/

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #25

10. Сообщение от Канделябры (?), 13-Июн-19, 00:18   –2 +/
Это на бобине? А на SSD?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #19

11. Сообщение от segesg (?), 13-Июн-19, 00:32   –1 +/
да
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

12. Сообщение от Аноним (12), 13-Июн-19, 00:54   +/
Это ты про емакс?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

13. Сообщение от InuYasha (?), 13-Июн-19, 01:32   +1 +/
Такова проблема всех "комбайнов". Что поделать.
Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от Аноним (14), 13-Июн-19, 02:12   +1 +/
пользую ed уже как лет 20
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

16. Сообщение от souryogurt (ok), 13-Июн-19, 02:41   +/
У большинства престарелых вимеров модлайн отключен в конфиге, по-моему?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #30, #32, #38

17. Сообщение от Аноним (17), 13-Июн-19, 03:06   +1 +/
А где срок годности редактора посмотреть?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

18. Сообщение от Sw00p aka Jerom (?), 13-Июн-19, 03:26   +2 +/
mcedit) ну на крайняк ee
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #27, #53

19. Сообщение от RNZ (ok), 13-Июн-19, 03:39   +/
без разницы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

20. Сообщение от KonstantinB (ok), 13-Июн-19, 03:59   +2 +/
Я вроде еще не престарелый, но отключил вот.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

21. Сообщение от Аноним (21), 13-Июн-19, 04:51   +5 +/
Великий Vim настолько могущественный, что даже может разрушать компьютер владельца. Не каждый текстовый редактор может похвастаться этим!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #50, #56

22. Сообщение от bergentroll (ok), 13-Июн-19, 06:04   +1 +/
Это у вас симлинк на /dev/ass.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #35

23. Сообщение от Пряникё (?), 13-Июн-19, 06:25   +/
Каким нужно быть упоротым, чтобы использовать эту фичу...
(Я про опции редактирования внутри самого файла)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24

24. Сообщение от A.Stahl (ok), 13-Июн-19, 06:45   +1 +/
От вимеров всякого можно ожидать...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

25. Сообщение от Лапчатый девляпс бубунтёнак (?), 13-Июн-19, 08:38   +/
> windows сообщество обсуждало

Так вот оно как называется большая часть аудитории опеннета...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #52

26. Сообщение от Аноним (28), 13-Июн-19, 09:22   +2 +/
В Debian по умолчанию modeline отключён с 2007 года.

>  * debian/runtime/debian.vim.in
>    - set 'nomodeline' by default since modelines have historically been a
>      source of security/resource vulnerabilities.  Users should have to
>      explicitly enable the option to assume the associated risks.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #59

27. Сообщение от Ананнимас (?), 13-Июн-19, 09:25   +1 +/
ее не дружит с ютф к сожалению
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #39

28. Сообщение от Аноним (28), 13-Июн-19, 10:24   +/
> для текстовых редакторов начали писать эксплоиты

См. CVE-2002-1377, CVE-2004-1138, CVE-2007-2438, CVE-2016-1248…

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #22

29. Сообщение от little Bobby tables (?), 13-Июн-19, 10:35   +/
да и в генте:
/etc/vim/vimrc
" We don't allow modelines by default. See bug #14088 and bug #73715.
" basis by adding "set modeline" to your ~/.vimrc file.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

30. Сообщение от Аноним (30), 13-Июн-19, 10:52   +/
Йеп, уже давно в vimrc, всегда считал странной функцией.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

31. Сообщение от Аноним (31), 13-Июн-19, 11:50   +/
Киип ит симпл, стьупид!

Напуркуя в текст. редакторе такие функции.

При религии головного мозга молчать в ответ!!!

Ответить | Правка | Наверх | Cообщить модератору

32. Сообщение от Аноним (32), 13-Июн-19, 12:10   +/
Ага, при установке (в "некоторых" дистрах) до поры до времени месссадж честно выводился, что "modeline штука специфическая и потенциально опасная, вы бы выключили её от греха подальше".

Так-то можно включить set exrc и уууух что начнётся. Но порой бывает удобно, да:(

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

33. Сообщение от Аноним (33), 13-Июн-19, 12:10   +1 +/
Спасибо за идею.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

34. Сообщение от anon342532 (?), 13-Июн-19, 12:18   +/
Фу таким быть! 😡
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

35. Сообщение от Аноним (28), 13-Июн-19, 12:31   +1 +/
Не туда посмотрел. Это вместо /dev/head у него симлинк на /dev/ass.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

36. Сообщение от Nicknnn (ok), 13-Июн-19, 12:55   +/
Debian testing, приехали обновления vim
Ответить | Правка | Наверх | Cообщить модератору

37. Сообщение от Аноним (37), 13-Июн-19, 13:57   +/
Я обновился, потом новость прочитал.
Ответить | Правка | Наверх | Cообщить модератору

38. Сообщение от Аноним84701 (ok), 13-Июн-19, 14:08   –1 +/
> У большинства престарелых вимеров модлайн отключен в конфиге, по-моему?

Вот тут пишут, что оно массово отключено по умолчанию:
https://vim.fandom.com/wiki/Modeline_magic
> Debian, Ubuntu, Gentoo, OSX, etc. by default disable modelines for security reasons.
> To enable modelines, edit your vimrc file (for example, in Vim enter :e $MYVIMRC) and check you have lines like the following.

А вообще, нужно было сразу переходить на единственно верный и правильный  редактор (Emacs) и не страдать фигней!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16

39. Сообщение от Sw00p aka Jerom (?), 13-Июн-19, 15:04   +/
> ее не дружит с ютф к сожалению

это беда бсд, даже mcedit не дружит

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #55

40. Сообщение от vjkarboemail (?), 13-Июн-19, 15:21   +/
FreeBSD:12:i386. В пакетах - vim-8.1.0985 (уязвим), в портах - 8.1.1439.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #41

41. Сообщение от анонн (?), 13-Июн-19, 15:33   +1 +/
> FreeBSD:12:i386. В пакетах - vim-8.1.0985 (уязвим), в портах - 8.1.1439.

Сделай уже pkg update
% pkg rquery %n-%v neovim vim
neovim-0.3.7
vim-8.1.1439
% uname -mrs
FreeBSD 12.0-STABLE amd64


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #42, #44

42. Сообщение от анонн (?), 13-Июн-19, 15:37   +/
>> FreeBSD:12:i386.
> FreeBSD 12.0-STABLE amd64

http://pkg.freebsd.org/FreeBSD:12:i386/latest/All/vim-8.1.14...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

43. Сообщение от IRASoldier_registered (ok), 13-Июн-19, 15:41   +/
Зачем, если можно просто иcпользовать nano?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

44. Сообщение от vjkarboemail (?), 13-Июн-19, 15:54   +/
Странно. pkg update автоматом перед инсталлом же. Может с базой что.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #46

45. Сообщение от anon342532 (?), 13-Июн-19, 16:07   –1 +/
> использую less

смотри v случайно не нажми)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

46. Сообщение от vjkarboemail (?), 13-Июн-19, 16:07   +/
Да, и
% uname -r
12.0-RELEASE-p5
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #48

47. Сообщение от Аноним (47), 13-Июн-19, 16:12   +/
NVIM v0.3.1
Не воспроизвожу
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

48. Сообщение от анонн (?), 13-Июн-19, 16:37   +/
> Да, и
> % uname -r
> 12.0-RELEASE-p5

pkg -vv | grep url
"pkg+http://pkg.FreeBSD.org/FreeBSD:12:amd64/latest"

вангую, что в релизе репы квартальные (quarterly), а туда или еще не завезли или уже не завезут.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #49

49. Сообщение от vjkarboemail (?), 13-Июн-19, 16:51   +/
Да, вы правы ( "pkg+http://pkg.FreeBSD.org/FreeBSD:12:i386/quarterly"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

50. Сообщение от vimgovnoemail (?), 13-Июн-19, 17:13   –2 +/
vim - это отменное говно, странно что им еще пользуются/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #51

51. Сообщение от Аноним (21), 13-Июн-19, 18:34   +8 +/
Не каждый редактор может похвастаться таким количеством хейтеров. Vim и тут превосходен!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

52. Сообщение от Ганделябры (?), 13-Июн-19, 18:48   +/
Ещё раз повторяю, никакого windows сообщества не существует. Это как если бы было сообщество едящих ртом или слушающих ушами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #54

53. Сообщение от Аноним (53), 14-Июн-19, 07:47   +/
Нее... mceditor и ee слишком продвинуты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

54. Сообщение от Лапчатый девляпс бубунтёнак (?), 14-Июн-19, 09:42   +/
Тогда можешь повторить ещё раз...

Просто мне, как человеку, активно пользовавшемуся некрософт-вантузом где-то с 2003 по 2007 год, немножко странно читать твой бреад.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

55. Сообщение от Ананнимас (?), 14-Июн-19, 12:30   +/
mcedit лне себе дружит. по-крайней мере с русскими буквами.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

56. Сообщение от АнонимГоним (?), 14-Июн-19, 16:37   +1 +/
При этом бибикая в дьявольской тональности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

57. Сообщение от Junior frontend developer (?), 15-Июн-19, 01:18   +/
Если все равно через задницу работает, почему же не вим сразу? Кто эти люди, которым не впадлу изучать нано?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

58. Сообщение от burjui (ok), 15-Июн-19, 15:52   +1 +/
Более позитивный заголовок: "Vim научился открывать вредоносные файлы".
Ответить | Правка | Наверх | Cообщить модератору

59. Сообщение от пох. (?), 19-Июн-19, 17:05   +/
у _старых_ opensuse та же фигня:
" Changed default required by SuSE security team--be aware if enabling this
" that it potentially can open for malicious users to do harmful things.
set nomodeline

но ведь модные-современные без фигни жить не могут, так что в ляпах, наверное, уже удалено.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру