The OpenNET Project / Index page

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

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

"Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  +/
Сообщение от opennews on 27-Окт-16, 22:18 
В утилите GNU tar выявлена (http://seclists.org/fulldisclosure/2016/Oct/96) уязвимость (CVE-2016-6321 (https://security-tracker.debian.org/tracker/CVE-2016-6321)), позволяющая при раскрытии архива осуществить запись за пределы целевого каталога, заданного в командной строке. Например, запустив распаковку одного файла, может быть переписан другой файл или осуществлено раскрытие файлов в обход заданным маскам и исключениям.

Подготовив специальным образом архив атакующий может добиться записи сторонних файлов при распаковке, например, подменить ключ входа по SSH или сценарии автозапуска bash при распаковке в домашнюю директорию. В случае если архив распаковывается пользователем root возможно организовать перезапись системных файлов и получить полномочия суперпользователя (например, переписав crontab). Интересно, что информация о проблеме была отправлена сопровождающему GNU tar ещё в марте, но он не посчитал указанную проблему уязвимостью, поэтому проблема на момент публикации эксплоита остаётся неисправленной.

Уязвимость связана с некорректным вырезанием символов ".." из путей в архиве - при наличии ".." перед распаковкой осуществляется удаление части пути, предшествующей "..", но проверка соответствия маскам осуществляется по исходному варианту. Например, подготовив архив с файлом "etc/motd/../etc/shadow", атакующий может переписать etc/shadow в случае попытки раскрытия файла etc/motd (tar удалит "etc/motd/../", но оставит "etc/shadow", который будет обработан относительно корня целевой директории, несмотря на то, что явно инициирована распаковка только etc/motd). Условием успешного проведения атаки является необходимость соответствия части присутствующего в архиве пути с задаваемой при распаковке целевой директорией, т.е. часть до символов ".." должна совпадать с заданной для распаковки директорией или соответствовать заданной через опцию "--wildcards" маске распаковки. Данное ограничение сужает область применения атаки системами с предсказуемыми путями распаковки, например, приложениями распаковывающими архивы в заранее известные директории.

URL: http://seclists.org/fulldisclosure/2016/Oct/96
Новость: http://www.opennet.ru/opennews/art.shtml?num=45383

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

Оглавление

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

2. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +11 +/
Сообщение от pauc on 27-Окт-16, 22:27 
Необходимо срочно включить tar в systemd! GNU не справляется.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +3 +/
Сообщение от Аноним (??) on 27-Окт-16, 22:29 
О, ну хоть по этому поводу нет отдельного сайта. Пока что.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +8 +/
Сообщение от rm_ email(ok) on 27-Окт-16, 22:42 
> информация о проблеме была отправлена сопровождающему GNU tar ещё в марте, но он не посчитал указанную проблему уязвимостью, поэтому проблема на момент публикации эксплоита остаётся неисправленной.

Этому весьма уважаемому и несомненно высоко компетентному человеку запретить кодить пожизненно.

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

5. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –1 +/
Сообщение от interuser (ok) on 27-Окт-16, 22:46 
А busybox?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 27-Окт-16, 23:17 
> Этому весьма уважаемому и несомненно высоко компетентному человеку запретить кодить пожизненно.

Может не помочь. Проекту с числом авторов больше одного мэйнтейнеру совершенно не обязательно писать код для внесения багов.

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

7. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –1 +/
Сообщение от Аноним (??) on 27-Окт-16, 23:18 
sandbox?
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +14 +/
Сообщение от Аноним (??) on 27-Окт-16, 23:23 
> позволяющая при раскрытии архива осуществить запись за пределы целевого каталога, заданного в командной строке

Эта "уязвимость" НЕ ПОЗВОЛЯЕТ осуществить запись за пределы целевого каталога. Она позволяет при частичной распаковке архива извлечь файлы, не указанные в командной строке. Например, если вы извлекаете каталог "foo" из архива в /home, то может быть перезаписан не только /home/foo, но и /home/bar, хотя пользователь этого не заказывал. Но за пределы /home (например, в /etc) ничего записать не получится.

Если это и можно считать уязвимостью, то лишь минорной.

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

9. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +1 +/
Сообщение от fi (ok) on 27-Окт-16, 23:29 
что-то подсказывает, что автор прав - смотреть надо что делаешь.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 27-Окт-16, 23:30 
rm -rf / usr
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +6 +/
Сообщение от angra (ok) on 28-Окт-16, 00:29 
Ты бы хоть разобрался в этой "уязвимости", манагер.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

12. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +3 +/
Сообщение от user (??) on 28-Окт-16, 00:29 
Сначала emacs и qt, фреймворки должны быть интегрированы.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

13. "Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  +6 +/
Сообщение от angra (ok) on 28-Окт-16, 00:41 
Я нашел куда более страшную "уязвимость" в tar. Если сказать ему просто распаковать специально подготовленный архив целиком, что делается в подавляющем большинстве случаев, то он это сделает! В результате атакующий может добиться записи файлов в сторонние каталоги при распаковке, например, подменить ключ входа по SSH или сценарии автозапуска bash. В случае если архив распаковывается пользователем root возможно организовать перезапись системных файлов и получить полномочия суперпользователя (например, переписав crontab). В общем всё то же самое, повлияет на тех же самых балбесов, что распаковывают чужие tar архивы от рута в корень или от пользователя напрямую в хомяк, только с операцией на порядки более частой.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –3 +/
Сообщение от burik666 (ok) on 28-Окт-16, 00:57 
достали уже...  rm -rf / не работает, т.к. по дефолту "--preserve-root do not remove '/' (default)"
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +3 +/
Сообщение от Аноним (??) on 28-Окт-16, 01:21 
> Например, подготовив архив с файлом "etc/motd/../etc/shadow", атакующий может переписать /etc/shadow

Может переписать etc/shadow
но никак не /etc/shadow

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

16. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +1 +/
Сообщение от angra (ok) on 28-Окт-16, 01:29 
Вот именно. Если пройти по ссылке, то в этом примере для срабатывания "уязвимости" используется следующая команда:
# tar -C / -xvf archive.tar etc/motd

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

17. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +1 +/
Сообщение от Аноним (??) on 28-Окт-16, 01:33 
Выходит в тексте новости враньё.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

18. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 01:42 
В FreeBSD работает. Достали уже школьники.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

21. "Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  +/
Сообщение от cmp (ok) on 28-Окт-16, 02:06 
> (например, переписав crontab). В общем всё то же самое, повлияет на
> тех же самых балбесов, что распаковывают чужие tar архивы от рута
> в корень или от пользователя напрямую в хомяк, только с операцией
> на порядки более частой.

А зачем это делать? в корень-то

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

22. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 02:07 
"Попробуйте сменить мишку или компьютер" (c)
http://www.linux.org.ru/news/multimedia/12957216?cid=12972509
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

25. "Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  +3 +/
Сообщение от angra (ok) on 28-Окт-16, 04:29 
Как зачем? Чтобы "уязвимость" заработала. Ты бы еще спросил зачем это делать с чужими архивами.

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

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

26. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +3 +/
Сообщение от angra (ok) on 28-Окт-16, 04:43 
Открытого вранья нет, так как под "целевого каталога, заданного в командной строке" в команде "tar -C / -xvf archive.tar etc/motd" можно понимать как "/" так и "etc". Так что  скорее небольшая манипуляция с целью сделать из представителя семейства Muscidae представителя семейства Elephantidae.


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

27. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от interuser (ok) on 28-Окт-16, 05:25 
Что работает? Ты удали все, а потом посмотри что осталось. Я могу даже дать тебе доступ, чтобы ты потренировался ядро у FreeBSD снести. При определенной настройке попытки твои не увенчаются успехом.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

29. "Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  –2 +/
Сообщение от Аноним (??) on 28-Окт-16, 05:50 
Что несешь? Ты каждый раз, скачивая CMS (вордпрес, джумла) ты отрываешь архив, и изучаешь, нет ли там ".."?
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

30. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 05:53 
Без проблем, просто нужно скомбинировать
etc/motd/../etc/shadow
etc/motd/../../etc/shadow
etc/motd/../../../etc/shadow
etc/motd/../../../../etc/shadow
и т.д.
Вот мы и переписали /etc/shadow
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

32. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 07:57 
> Может переписать etc/shadow

Относительно /. В том то и уязвимость, что при указании tar раскрывать в /etc он раскроет не в /etc/etc/shadow, а в /etc/shadow.  

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

33. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +1 +/
Сообщение от Аноним (??) on 28-Окт-16, 08:01 
> Вот именно. Если пройти по ссылке, то в этом примере для срабатывания
> "уязвимости" используется следующая команда:
> # tar -C / -xvf archive.tar etc/motd

Т.е. по вашему нормально, что вы запускайте "cat tar-poc.tar | tar xv etc/motd" чтобы переписать один файл etc/motd, а он вместо этого переписывает вам совсем другой файл etc/shadow?

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

34. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Ващенаглухо (ok) on 28-Окт-16, 08:09 
Как уже говорили смотреть надо, что распаковываешь.  
И еще зря / убрается из путей при созданеии архива :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

35. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Нанобот (ok) on 28-Окт-16, 09:41 
по-моему даже на уровень moderate не тянет
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

36. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +2 +/
Сообщение от Нанобот (ok) on 28-Окт-16, 09:42 
оно так не работает
>просто нужно скомбинировать

великий комбинатор обосрался

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

37. "Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  +1 +/
Сообщение от нет (??) on 28-Окт-16, 09:43 
он не распаковывает в корень
вин
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

38. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 09:58 
Условный пример:
Вы открываете архив и смотрите до второго уровня что в нём только файлы конкретных настроек:
superService/conf/....
superService/startup/....
superService/startup/....

естественно вы по все каталоги "до конца дерева" не просматриваете.

А при распаковке в /etc там оказывается
superService/conf/default/../../../systemservice.conf

как то так :)

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

39. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +5 +/
Сообщение от Andrey Mitrofanov on 28-Окт-16, 10:09 
> Сначала emacs и qt, фреймворки должны быть интегрированы.

LibreOffice в качестве pid(1) должен быть хорош!!

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

40. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +2 +/
Сообщение от Andrey Mitrofanov on 28-Окт-16, 10:11 
>> информация о проблеме была отправлена сопровождающему GNU tar ещё в марте, но он не посчитал указанную проблему уязвимостью, поэтому проблема на момент публикации эксплоита остаётся неисправленной.
> Этому весьма уважаемому и несомненно высоко компетентному человеку запретить кодить пожизненно.

Решение есть! Возьми его на работу -- и сразу начинай говорить, чего да как делать.

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

41. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 10:48 
Давай, терминал уже открыл.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

42. "Уязвимость в GNU tar, позволяющая перезаписать сторонние файлы"  +/
Сообщение от cmp (ok) on 28-Окт-16, 11:25 
> вордпрес и джумла

ахаха, ну да, каждый раз, а потом извлекаю по 1 элементу из корня архива в корень системы, а потом по-одному переношу куда надо, или даже нет, прям корень шарю по хттп, мне ведь нравится тупить отделяя системные файлы от прочено говна, иногда прям /usr/lib распаковываю, ведь это так весело.

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

43. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 11:33 
Ок. Отправил логин/пароль на почту.
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

44. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –3 +/
Сообщение от Меломан1 on 28-Окт-16, 12:01 
Хрень какая-то. Кто из под рута распаковывает архивы? Фото на доску почета.
С остальным справится SELinux и abrt.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

45. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от анонимус (??) on 28-Окт-16, 12:29 
>что-то подсказывает, что автор прав - смотреть надо что делаешь.

Прав или не прав, а судя по их "This type of scenario has been successfully exploited in the real world to gain a remote code execution as root in different environments" скрипты с такими вот командами действительно имеют место быть.

И вообще авторы tar поступили странно… Почему именно весь кусок перед '..'? Почему не после? Или просто выкидывать один '..' или заменять на какой-нибудь '$$'…

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

48. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +2 +/
Сообщение от Аноним (??) on 28-Окт-16, 13:27 
Снес
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

49. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –2 +/
Сообщение от Аноним (??) on 28-Окт-16, 17:01 
Вбздуны
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

50. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +1 +/
Сообщение от angra (ok) on 28-Окт-16, 17:23 
Вообще-то распаковка из под рута это норма. А ты бекап распаковываешь от пользователя, а потом для каждого файла рутом правишь владельца? А для распаковки архивов с содержимым для самого рута создаешь отдельного пользователя, распаковываешь под ним, а потом переносишь в /root?
Проблема не в том, из под какого пользователя, а в том, куда именно распаковывать.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

51. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –1 +/
Сообщение от Аноним (??) on 28-Окт-16, 18:18 
плюсую!!!
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

52. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 28-Окт-16, 20:34 
> что при указании tar раскрывать в /etc

Это 3.14здец!
Как гвоздик в розетку сувать - если в ноль (или тапки сухие) то и не 2.71бнет.

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

53. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от interuser (ok) on 29-Окт-16, 13:12 
теперь посмотри что осталось.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

54. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 30-Окт-16, 00:50 
А какое может быть решение проблемы "в имени файла есть /../"?
например
etc/motd/../etc/shadow
etc/motd/../vmlinuz

Куда такие файлы должны быть распакованы?
В файл указанный в маске для распаковки?
Что делать с масками --wildcards "m*"
?
Считать имя повреждённым и вообще не распаковывать такие файлы?

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

55. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от curious on 30-Окт-16, 16:40 
Воу, воу, осади мысли-скакуны.

Тот кто распаковывает указывает что он хочет распаковать в маске для распаковки.
То что программа делает с именами файлов _перед_ распаковкой это распаковывающему совсем неинтересно.

Если короче - маска применяется _после_ всех манипуляций с именем файла.

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

56. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 30-Окт-16, 22:32 
> LibreOffice в качестве pid(1) должен быть хорош!!

Ты там потише, а то нокия уже доперла однажды до прелоада браузера сразу после старта системы. Здорово же если браузер вываливается на экран сразу как ты клацнул ярлык. А то что он трскал цать мегов даже если ты им не пользовался... ннннну... красота^W п0нт^W UX требует жертв, да?

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

57. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  –1 +/
Сообщение от Аноним (??) on 30-Окт-16, 23:24 
это не уязвимость, - это фича! ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

58. "Уязвимость в GNU tar, позволяющая перезаписать сторонние фай..."  +/
Сообщение от Аноним (??) on 31-Окт-16, 14:05 
Проблема не "куда именно распаковывать", а "что именно распаковывать".
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору


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

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




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

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