URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 100247
[ Назад ]

Исходное сообщение
"Проблемы с безопасностью, вызванные использованием утилиты less"

Отправлено opennews , 24-Ноя-14 20:06 
Михал Залевский (Michal Zalewski), известный эксперт по компьютерной безопасности, работающий в Google Security Team, опубликовал (http://seclists.org/fulldisclosure/2014/Nov/74) предупреждение о возможности скрытой эксплуатации уязвимостей в различных обработчиках контента, при использовании утилиты less. Во многих дистрибутивах Linux, включая CentOS и Ubuntu, для  выводимого через less контента используются скрипты  lesspipe, которые осуществляют вызов  сторонних утилит для преобразования различных форматов в читаемый вид. В том числе вызываются isoinfo, iconv, groff, troff, grotty, man и cpio.


Проблема заключается в том, что многие из таких утилит потенциально уязвимы, а использование less, который по умолчанию применяется в различных программах для постраничного вывода на экран, может привести к неосознанной передаче данным утилитам внешних непроверенных данных, которые могут быть специально адаптированы для проведения атаки. Для демонстрации сути атаки подготовлены специально оформленные архив cpio (http://lcamtuf.coredump.cx/afl/vulns/lesspipe-cpio-bad-write...) и
образ iso (http://seclists.org/oss-sec/2014/q4/773), просмотр которых через less  приводит к краху. В качестве решения проблемы предлагается уйти от практики установки в дистрибутивах  дополнительных обработчиков через переменные окружения LESSOPEN и LESSCLOSE.

URL: http://seclists.org/fulldisclosure/2014/Nov/74
Новость: http://www.opennet.me/opennews/art.shtml?num=41120


Содержание

Сообщения в этом обсуждении
"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Ordu , 24-Ноя-14 20:57 
Ни о чём, на самом деле.
Если less используется достаточно часто/активно, то unset на LESSOPEN, прописанный в ~/.bashrc, напрашивается: если мне хочется просмотреть html не как текстовый файл, а отобразить его в links, то я буду использовать links, а не less. Вбивать же в каждом таком случае --no-lessopen промежь аргументов задалбывает.
Если же less не используется прямо и непосредственно, то как она может быть вызвана? Через $PAGER? Но вот тут, чтобы оценить существенность проблемы, не помешал бы списочек утилит, которые используют этот PAGER. man? Ну дык man не по рандомным файлам шарится, а по тем которым в общем следует доверять. git? Я не уверен на 100%, но по-моему, git использует PAGER исключительно для вещей типа вывода многостраничных log'ов, которые в less загружаются через pipe, и посему LESSOPEN не отрабатывает.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Stax , 25-Ноя-14 22:31 
> Если less используется достаточно часто/активно, то unset на LESSOPEN, прописанный в ~/.bashrc, напрашивается: если мне хочется просмотреть html не как текстовый файл, а отобразить его в links, то я буду использовать links, а не less. Вбивать же в каждом таком случае --no-lessopen промежь аргументов задалбывает.

Зависит от. У меня, например, 10500 разных фильтров в кастомном LESSOPEN, как раз чтобы можно было less использовать часто и не париться на тему, открываю я html, pdf или там хочу посмотреть информацию по видео- или аудио-файлу. И это довольно удобно...

> Через $PAGER? Но вот тут, чтобы оценить существенность проблемы, не помешал бы списочек утилит, которые используют этот PAGER. man?

Если кто-то дергает $PAGER /tmp/tmpfile, достаточно добавить -L в опции $PAGER и проблем никаких.. А через пайп да, он и не сработает...


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Нимо Ан , 24-Ноя-14 20:58 
Руки прочь от unix way. Пофиксим уязвимость в одной утилите и её не станет во всех.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено anonymous , 24-Ноя-14 21:05 
Скриптописание нынче не в тренде. Водить пальцами по ведрофону - это стильно, молодёжно, а, главное, секурно.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 24-Ноя-14 21:34 
> не станет во всех.

Да щаз. Это судя по всему будет напоминать картинку Волка из электронной игры "Ну, погоди!". Только вместо яиц - патчи, а если вы не успели вовремя крутануться - у вас ненавязчиво поселится какая-нибудь дрянь.


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено pavlinux , 25-Ноя-14 17:32 
$ echo $LESSOPEN $LESSCLOSE $PAGER $LESS

$

Debian 8

Честно говоря, я эти переменные давно не встречал.
А Свидетели Поттеринговы ваще не в курсе что это такое.    


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено McLeod095 , 24-Ноя-14 21:05 
Стал использовать vim и отказался от mcedit. Захотелось также чего нить легкого и для просмотра файлов less устраивал, но после того как узнал комбинацию Ctrl+F для  less, то стал пользоваться tail намного реже. И тут вот такое прилетает.
Обидно.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено edv , 24-Ноя-14 21:20 
Вы про
SPACE or ^V or f or ^F
Scroll forward N lines, default one window...?

А что тут интересного?


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 25-Ноя-14 02:11 
Видимо, опечатался человек, а имелось в виду следующее:
F      Scroll forward, and keep trying to read when the end of file is reached.  Normally this command would be used when already
              at the end of the file.  It is a way to monitor the tail of a file which is growing while it is being viewed.  (The behav‐
              ior is similar to the "tail -f" command.)

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено McLeod095 , 25-Ноя-14 02:40 
Спасибо! Опечатался
Конечно же Shift+F

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Michael Shigorin , 25-Ноя-14 20:42 
> Стал использовать vim и отказался от mcedit. Захотелось также чего нить легкого
> и для просмотра файлов less устраивал

Обычно использую view ради подсветки синтаксиса и возможности при необходимости тут же поправить (понятно, что less тоже умеет позвать $EDITOR, но...).

> но после того как узнал комбинацию Ctrl+F для  less,
> то стал пользоваться tail намного реже.

Есть ещё tailf -- минус две кнопки при наборе tail -f.


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Stax , 25-Ноя-14 22:48 
> Есть ещё tailf -- минус две кнопки при наборе tail -f.

А он вообще убог :(
Не понимает tail -f *.log...


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 24-Ноя-14 21:06 
Да уж, если в less, куда казалось бы дальше, может в утилите 'true' есть уязвимость?

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено DeadLoco , 24-Ноя-14 21:55 
Статистический анализ показывает, что во всех уязвимых продуктах используется операция сложения...

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено ryoken , 24-Ноя-14 22:24 
> Да уж, если в less, куда казалось бы дальше, может в утилите
> 'true' есть уязвимость?

Поставил себе в качестве PAGER = most. (Где-то давно вычитал про  него). Про less забыл :).


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Sw00p aka Jerom , 24-Ноя-14 22:11 
а чем more плох ?

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Свет в твоем окне , 24-Ноя-14 22:53 
Сразу выключается в конце файла, урод такой.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 24-Ноя-14 23:35 
в некоторых дистрах он является линком на less.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено www2 , 25-Ноя-14 18:06 
И назад листать не позволяет.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Sw00p aka Jerom , 10-Дек-14 02:38 
> И назад листать не позволяет.

man more

ps: b


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 24-Ноя-14 23:38 
потому что неправильно утилиту пользуют.
правильно так: cat file.ext | less
тогда не будет он гроффами исходники манов портить и т.д.
при правильном использовании автор перед форматами бессилен.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено www2 , 25-Ноя-14 17:18 
less < file.ext

Может так лучше?


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Michael Shigorin , 25-Ноя-14 20:43 
> правильно так: cat file.ext | less

useless use of cat(1)


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Stax , 25-Ноя-14 23:31 
unix-way, каждый делает свое дело. cat читает файл, bash организует пайп, ядро пересылает данные, less выводит. Все четко!

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 25-Ноя-14 00:29 
Предвижу, на следующей неделе будет новость, как в утилите cat выявлена уязвимость.

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Khariton , 25-Ноя-14 16:15 
будем делать тогда
tac file | tac | less

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Led , 25-Ноя-14 01:21 
> Михал Залевский (Michal Zalewski)

Интересно, откуда автор новости букву "й" взял? Сам придумал или марсиане подсказали?


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено angra , 25-Ноя-14 05:07 
Если ты чего-то не знаешь, то лучше молчи, а не рассказывай свои фантази на тему марсиан. Окончание польских фамилии -ski/-cki/-dzki передаются на русский как -ский/-цкий/-дский

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 25-Ноя-14 08:07 
> Окончание польских фамилии -ski/-cki/-dzki передаются на русский как -ский/-цкий/-дский

Ну вот, сейчас в этом усмотрят имперские амбиции, стремление захватить и русифицировать всю европу, и прочую в/на тематику...

Никогда не понимал, вот вроде бы у людей есть свой язык, по крайней мере они так заявляют, так чего лезть других учить разговаривать на их родном языке. Я же не учу китайцев, какой предлог им использовать с названием моей страны, если у них вообще предлоги есть. Да мне вообще параллельно, как они там чего говорят. Это, по-ходу, какие-то исторические комплексы...


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено жабабыдлокодер , 25-Ноя-14 08:59 
Они и на польском произносятся как "-кий". Это англо-американцы читают их как "-ки".

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 25-Ноя-14 09:45 
>Это англо-американцы читают их как "-ки".

Как посмели? Кто разрешил?!


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Юпитер , 25-Ноя-14 13:09 
Вас кто-то обманул: по-польскі -ski произносится именно как -ски, безо всяких "й".

"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 25-Ноя-14 23:43 
Да какая разница как оно по-польски? Это должно только поляков волновать, что у них и как произносится. В русском языке добавляется Й, а если будете спорить, то можно и еще пару букв спереди добавить.

И да, я буду говорить Лондон а не ландан, и Голландия вместо Nederland, потому что это мой язык, как хочу, так и говорю...


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Аноним , 25-Ноя-14 09:44 
Сами поляки в свое время ничтоже сумняшеся писали "Малгожата Тетчерова", и срaть хотели на то, что там ангельчане про них подумают.

"Проблемы с безопасностью, вызванные использованием утилиты less"
Отправлено Адекват , 25-Ноя-14 06:33 

используются скрипты lesspipe, которые осуществляют вызов сторонних утилит для преобразования различных форматов в читаемый вид. В том числе вызываются isoinfo, iconv, groff, troff, grotty, man и cpio.


скрипты lesspipe вызывают сторонние утилиты, или это сторонние утилиты для вывода на stdout используют  скрипты lesspipe ???


"Проблемы с безопасностью, вызванные использованием утилиты l..."
Отправлено Нанобот , 25-Ноя-14 10:20 
как-то слишком надумано

"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено Аноним , 25-Ноя-14 16:43 
А завтра он предложит убрать запуск X по умолчанию.

"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено iZEN , 27-Ноя-14 11:35 
На FreeBSD никак не могу задействовать more: всё время подставляется less(1).
Хочу прочесть man more — вылазит man less. Ну что за х...? Алиаса подмены нет. Куда копать?

"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено Аноним , 27-Ноя-14 14:15 
> На FreeBSD никак не могу задействовать more: всё время подставляется less(1).
> Хочу прочесть man more — вылазит man less. Ну что за х...?
> Алиаса подмены нет. Куда копать?

type more
что говорит?

"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено iZEN , 27-Ноя-14 18:00 
>> На FreeBSD никак не могу задействовать more: всё время подставляется less(1).
>> Хочу прочесть man more — вылазит man less. Ну что за х...?
>> Алиаса подмены нет. Куда копать?
>
type more
что говорит?

more is /usr/bin/more



"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено Аноним , 27-Ноя-14 21:26 
>>> На FreeBSD никак не могу задействовать more: всё время подставляется less(1).
>>> Хочу прочесть man more — вылазит man less. Ну что за х...?
>>> Алиаса подмены нет. Куда копать?
>>
type more
что говорит?

> more is /usr/bin/more

Я позже вспомнил, что у меня есть доступ к FreeBSD, и сам посмотрел. Короче, на FreeBSD 10.0:

$ stat /usr/bin/more /usr/bin/less
3341733987 690 -r-xr-xr-x 2 root wheel 4294967295 150152 "Apr 22 10:20:55 2014" "Jan 17 02:41:07 2014" "Apr 22 10:20:59 2014" "Apr 22 10:20:58 2014" 131072 529 0x800 /usr/bin/more
3341733987 690 -r-xr-xr-x 2 root wheel 4294967295 150152 "Apr 22 10:20:55 2014" "Jan 17 02:41:07 2014" "Apr 22 10:20:59 2014" "Apr 22 10:20:58 2014" 131072 529 0x800 /usr/bin/less

Это один и тот же бинарник, просто hardlinked.

"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено Аноним , 27-Ноя-14 14:21 
> На FreeBSD никак не могу задействовать more: всё время подставляется less(1).
> Хочу прочесть man more — вылазит man less. Ну что за х...?
> Алиаса подмены нет. Куда копать?

Нашёл следующее в man less:

COMPATIBILITY WITH MORE
       If the environment variable LESS_IS_MORE is set to 1, or if the program
       is  invoked via a file link named "more", less behaves (mostly) in con‐
       formance with the POSIX "more" command specification.


"Потенциальные проблемы с безопасностью при использовании ути..."
Отправлено azure , 28-Ноя-14 17:02 
Просматривать .cpio и .iso при помощи less - это один из основных моих юз-кесов. Проблему надо немедленно чинить. Ага.