Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> vim 7.0. обнаружена серъёзная уязвимость, modeline 
:(
    Опции темы
Mayk
  Дата 28.4.2007, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 1
Всего: 134



23 часа[так говорит gmail.com --- 23 hours ago] назад в vim-dev было отослано сообщение о уязвимости, которая позволяет
злоумышленнику выполнить произвольный код используя modeline.
Цитирую 
Цитата(vim-dev)

from: Tomas Golembiovsky
Greetings mortals,

today somebody came to #vim, and pasted some modeline (containig joke or
such). He muttered something about not knowing what that means and left
before long. But (!) what I noticed is that feedkeys() was used as part of
foldexpression and it turned out that feedkeys() is allowed in sandbox,
which means malicious file can run arbitrary command via modeline like
this:

vim: fdm=expr fde=feedkeys("\\:!touch\ phantom_was_here\\<cr>")


Исправление было выпущено час назад:
Цитата

Patch 7.0.234
Problem:    It's possible to use feedkeys() from a modeline.  That is a
           security issue, can be used for a trojan horse.
Solution:   Disallow using feedkeys() in the sandbox.
Files:      src/eval.c


Проявляйте бдительность  smile 

Это сообщение отредактировал(а) Mayk - 28.4.2007, 00:44


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 28.4.2007, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



можно объяснение как можно эту уязвимость не запуская локально со спец. флажками vim использовать ?
smile
попробовал to reproduce... не работает, у меня .122


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Mayk
Дата 28.4.2007, 18:21 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 1
Всего: 134



Цитата(bilbobagginz @  28.4.2007,  11:34 Найти цитируемый пост)
можно объяснение как можно эту уязвимость не запуская локально со спец. флажками vim использовать ?

Спецфлажков не надо.
 Надо следующее: 
1) здесь используется fdm и fde, то vim'а должен иметь с фичу +folding
2)  так как используется fde, то vim должен быть собран с +eval.
3) modeline должен не быть дезактивирован через что-но наподобие set nomodeline. 
4) feedkeys должен быть доступен[в шестых версиях не было]. 

А объяснение эксплойтиа почти тривиально --- 
достаточно запустить vim  на файл содержащим этот modeline.
modeline устанавливает fdm и fde, fde вызывается для определения уровня фолдинга линий текста,
fde вызывает feedkeys, который кладёт в type ahead buffer "!touch",
!touch вызывает внешнюю программу с соответствующем именем.

Запуск внешней программы производится без запроса пользователя на то согласен он, или нет.
Последствия запуска произвольной внешней программы могут быть не очень приятными. 
Вот и весь фокус.

В vim-dev'е кто-то указал по гуглить "vim 1 april joke".



Цитата(bilbobagginz @  28.4.2007,  11:34 Найти цитируемый пост)
не работает, у меня .122 

[/quote]
поэксперементировал, заметил что в cp режиме ( vim<CR> :set cp<CR> :n hack<CR>) оно не срабатывает.
в vim7.0.234 к счастью это уже гарантированно не работает.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
nickless
Дата 28.4.2007, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 7
Всего: 181



Классно, после включения modeline у меня на .201 сработало smile , надо будет проапдейтиться... 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Mayk
Дата 28.4.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 1
Всего: 134



Так. Дальнейшие исследования показали, что sandbox в vim'е работает с изъянами.
Цитата

vi: fdm=expr fde=writefile(["hello"],"phantom_was_here")

с включенным modeline создаёт файл phantom_was_here(с произвольным содержанием кстати говоря --- так что ваш ~/.vimrc могут переписать). 
Официального патча пока нет. если бы не open source'ность, я б выставил set nomodeline в ~/.vimrc)

Обращаю внимание на то, что обе потенциально опасные ф-ции (writefile & feedkeys)  были добавлены в седьмую версию vim'а.




--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 28.4.2007, 22:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



это опять честно говоря дискуссия непонятная.
при условии:
1. недопатченный vim
2. включенный modeline
3. и т.д...

сам пользователь должен запустить какую-то команду, или загрузить левый .vimrc

ну ... есть конечно уязвимость "некоторая", но ... как говорят "тахлэс" ( по существу ) ... не очень то опасная эта уязvimость, если ее можно назвать уязвимостью.

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





--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Mayk
Дата 28.4.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 1
Всего: 134



Цитата(bilbobagginz @  29.4.2007,  02:14 Найти цитируемый пост)

2. включенный modeline

А что в этом такого?

Цитата(bilbobagginz @  29.4.2007,  02:14 Найти цитируемый пост)
ну ... есть конечно уязвимость "некоторая", но ... как говорят "тахлэс" ( по существу ) ... не очень то опасная эта уязvimость, если ее можно назвать уязвимостью.

Ну можно назвать это side effect'ом  smile 

Вообще  есть некоторая разница между 
Цитата(bilbobagginz @  29.4.2007,  02:14 Найти цитируемый пост)
2. включенный modeline

и
перезаписью твоего ~/.vimrc при открытии файла, присланного из ненадежного источника.
кстати. Если я сейчас сохраню дамп этой мессаги, и открою его, то будет почти что ОЙ
Код

vi: fdm=expr fde=writefile(["!rm\ -irf\ /tmp/"],expand("$HOME/__vimrc")
" в предыдущей линии синтаксическая ошбика допущена намеренно


думаю не надо пояснять что произойдёт в момент следующего запуска редактора, .vimrc которого содержит единственную строчку, начинающуюся с !rm  smile 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 29.4.2007, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



блин туплю очень серьезно. конечно.
( забыл я про #vim: в файле.... )

интересная дыра.
когда-то уже была такая тема....


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Клуб юнуксоидов"
powerfox
ZeeLax
nickless

Что такое клуб юнуксоидов?

Это место более свободного общения специалистов и любителей *NIX систем.


Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем.


Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:


  • Оскорбления запрещены.
  • Holy wars разрешены, но в небольших размерах. Если вы создаёте что-то уровня Windows vs. Linux, то постите это в Религиозных войнах, пожалуйста.
  • Если вы хотите выставить здесь какое-либо своё творение - милости просим.
  • За интересные новости, интересные статьи, высказывания и юмор (в тему) + в репу.

Короче, по репе получите по полной программе ;-) Happy hacking!



Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Клуб юнуксоидов | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.