![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 1 Всего: 134 |
23 часа[так говорит gmail.com --- 23 hours ago] назад в vim-dev было отослано сообщение о уязвимости, которая позволяет
злоумышленнику выполнить произвольный код используя modeline. Цитирую
Исправление было выпущено час назад:
Проявляйте бдительность Это сообщение отредактировал(а) Mayk - 28.4.2007, 00:44 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 14 Всего: 317 |
можно объяснение как можно эту уязвимость не запуская локально со спец. флажками vim использовать ?
попробовал to reproduce... не работает, у меня .122 -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 1 Всего: 134 |
Спецфлажков не надо. Надо следующее: 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". [/quote] поэксперементировал, заметил что в cp режиме ( vim<CR> :set cp<CR> :n hack<CR>) оно не срабатывает. в vim7.0.234 к счастью это уже гарантированно не работает. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 7 Всего: 181 |
Классно, после включения modeline у меня на .201 сработало
-------------------- ![]() 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 |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 1 Всего: 134 |
Так. Дальнейшие исследования показали, что sandbox в vim'е работает с изъянами.
с включенным modeline создаёт файл phantom_was_here(с произвольным содержанием кстати говоря --- так что ваш ~/.vimrc могут переписать). Официального патча пока нет. если бы не open source'ность, я б выставил set nomodeline в ~/.vimrc) Обращаю внимание на то, что обе потенциально опасные ф-ции (writefile & feedkeys) были добавлены в седьмую версию vim'а. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 14 Всего: 317 |
это опять честно говоря дискуссия непонятная.
при условии: 1. недопатченный vim 2. включенный modeline 3. и т.д... сам пользователь должен запустить какую-то команду, или загрузить левый .vimrc ну ... есть конечно уязвимость "некоторая", но ... как говорят "тахлэс" ( по существу ) ... не очень то опасная эта уязvimость, если ее можно назвать уязвимостью. уязвимость - это когда другой пользователь может сделать с моими файлами что-то, или вообще человек с другого компутера подключиться и сделать что-то локально. а эти "если в нашем бронежилете вы будете ходит на руках по стеклу, то нет гарантии против порезов рук"-уязвимости... извините, не принимаю. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 1 Всего: 134 |
А что в этом такого? Ну можно назвать это side effect'ом Вообще есть некоторая разница между и перезаписью твоего ~/.vimrc при открытии файла, присланного из ненадежного источника. кстати. Если я сейчас сохраню дамп этой мессаги, и открою его, то будет почти что ОЙ
думаю не надо пояснять что произойдёт в момент следующего запуска редактора, .vimrc которого содержит единственную строчку, начинающуюся с !rm -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 14 Всего: 317 |
блин туплю очень серьезно. конечно.
( забыл я про #vim: в файле.... ) интересная дыра. когда-то уже была такая тема.... -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Клуб юнуксоидов" | |
|
|
Что такое клуб юнуксоидов? Это место более свободного общения специалистов и любителей *NIX систем. Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем. Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:
Короче, по репе получите по полной программе ;-) Happy hacking! Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Клуб юнуксоидов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |