LINUX.ORG.RU

Две уязвимости во FreeBSD: новая и «гнутая»


0

0

1. Новая -- FreeBSD-SA-06:25.kmem

В драйвере поддержки интерфейсов IEEE 1394, firewire(4), беззнаковые целые сравнивались со знаком, в результате локальные пользователи группы operator могут использовать ioctl FW_GCROM для обхода проверки границы буфера и получения части памяти ядра.

Системы без FireWire не затронуты, по умолчанию в группе operator присутствует только root. Если учесть что группа operator и так может многое (читать дисковые устройства, например), то уязвимость незначительна.

Рекомендуется обновиться до 4-STABLE, 5-STABLE, 6-STABLE или RELENG_6_1, RELENG_6_0, RELENG_5_5, RELENG_4_11.

Патч: http://security.FreeBSD.org/patches/S...

2. Наконец-то, среагировали на уязвимость в GNU tar: FreeBSD-SA-06:26.gtar

Начиная с RELENG_6 GNU tar во FreeBSD заменен на более функциональный и безопасный bsdtar и libarchive, поэтому уязвимость касается только FreeBSD 4.x и 5.x

Рекомендуется использовать bsdtar (ports/archivers/libarchive), или применить патч, отключающий в GNU tar небезопасное расширение GNUTYPE_NAMES, из-за которого все проблемы: http://security.FreeBSD.org/patches/S...

>>> Подробности по FreeBSD-SA-06:25.kmem

★★★★★

Проверено: Shaman007 ()

>Начиная с RELENG_6 GNU tar во FreeBSD заменен на более функциональный и безопасный bsdtar и libarchive, поэтому уязвимость касается только FreeBSD 4.x и 5.x

Это ничего, что ветке RELENG_6 уже как год? Офигенная "новость".

anonymous
()

>Рекомендуется обновиться до 4-STABLE, ...

что-то я не понял ничерта. вроде ж уже поддержка 4-ки прекращена...

soko1 ★★★★★
()
Ответ на: комментарий от anonymous

> Это ничего, что ветке RELENG_6 уже как год? Офигенная "новость".

А Ветке RELENG_4 уже три, и? Ты хотябы отдаленно представляешь себе структуру ветвления FreeBSD? _Вчера_ в ветке RELENG_6 была найдена уязвимость, поэтому _сегодня_ ветку RELENG_6 (и все её ветвления RELENG_6_0, RELENG_6_1) надо обновить.

dmesg
()
Ответ на: комментарий от dmesg

это ж ананимус. у них цель - все обгадить, независимо от того, так это или не так=)

soko1 ★★★★★
()

freebsd-update будет в ближайшие дни доступен (пока нет)

x97Rang ★★★
()

К уязвимостям windows прилагаются expoloits, а к уязвеимостям FreeBSD -
патчи. Да, я люблю этот мир.

anonymous
()
Ответ на: комментарий от soko1

>что-то я не понял ничерта. вроде ж уже поддержка 4-ки прекращена...

core team ей больше не занимается вроде, зато есть заинтересованные в её существовании люди + можно что-то из dragon fly перетащить

anonymous
()

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

Snorg
()
Ответ на: комментарий от Snorg

Хех, было бы удивительно если бы линуксоиды говорили "кривая недоделка bsdtar...", а мы им в ответ "ваш совершенный пингвин с gnu tar"...

soko1 ★★★★★
()
Ответ на: комментарий от Snorg

Зря вы гоните на bsdtar - это клевая штука. Особенно когда лень думать что за архив под рукой:

tar xzvf arch.tar.gz

tar xzvf arch.tar.bz2

tar xzvf arch.zip

и это все будет правильно работать!

anonymous
()
Ответ на: комментарий от Snorg

Ошибка в тексте новости.

"Use "bsdtar", which is the default tar implementation in FreeBSD 5.3 and higher."

2 Snorg: спасибо, кисо, теперь я буду знать, что linux == gtar

И нет, бээсдешники не собираются править глюки в вашем глюкавом линуксе:

"original (insecure) behaviour can be retained by running GNU tar with the newly added --allow-name-mangling option."

:)))

anonymous
()
Ответ на: комментарий от anonymous

а с gnu tar ваще все просто: tar -xf <имя файла> вне зависимости от того tar, tgz или tbz2 этот файл. Автодетект понимаиш

И ваще, хватит мусолить тему linux vs bsd, из присутствующих тока единцы знают обе вещи на номальном уровне, большинство ваще не представляет предмета разговора. Не показывайте свою безграмотность, просто помолчите.

anonymous
()

покричали, кому нужно - обновились. и ? :)

W ★★★★★
()
Ответ на: комментарий от soko1

а что, собственно, мешает использовать bsdtar линуксе?
Calculating dependencies... done!
[ebuild   R   ] app-arch/bsdtar-1.3.1-r2  USE="-acl -build -static -xattr" 0 kB 

kostian ★★★★☆
()
Ответ на: комментарий от anonymous

>а с gnu tar ваще все просто: tar -xf <имя файла> вне зависимости от >того tar, tgz или tbz2 этот файл. Автодетект понимаиш

vitus@[vitus.xxx.lcl]:~/tmp> tar -xf xmms-status-plugin-1.0.tar.gz
tar: Это не похоже на tar-архив
tar: Пропуск до следующего заголовка
tar: Archive contains obsolescent base-64 headers
tar: Выход, отложенный по результатам предыдущих ошибок
vitus@[vitus.xxx.lcl]:~/tmp> tar --version | head -n 1
tar (GNU tar) 1.13.25
vitus@[vitus.xxx.lcl]:~/tmp> tar -zxf xmms-status-plugin-1.0.tar.gz
vitus@[vitus.xxx.lcl]:~/tmp>

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

vtVitus, у тебя не gnu tar, максимум busybox какой-нить. Вот у меня gnu tar:
LFS:exe@/tmp:cd /tmp
LFS:exe@/tmp:tar -xf /var/portage/distfiles/pwgen-2.04.tar.gz
LFS:exe@/tmp:tar --version
tar (GNU tar) 1.15.1
LFS:exe@/tmp:

anonymous
()
Ответ на: комментарий от Snorg

> Зато теперь, спустя месяц, вышла кривая недоделка bsdtar без этой уязвимости

Улыбнуло. ;) gtar совсем вынесли из FreeBSD 6 в самом начале, а начиная с FreeBSD 5.3 в системе присутствовали оба: bsdtar как /usr/bin/tar и GNU tar как /usr/bin/gtar.

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Ошибка в тексте новости.

> "Use "bsdtar", which is the default tar implementation in FreeBSD 5.3 and higher."

Нет никакой ошибки. bsdtar действительно стал дефолтным в 5.3, но до 6.0 в системе присутствовали оба: и bsdtar, и gtar.

baka-kun ★★★★★
() автор топика

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

У вас комплекс неполноценности, коллега? Ощущение, что Вы радуетесь чему то? "В несчастьи ближнего есть что-то веселящее"? Да? Скажите, в организации где вы работаете, Вас любят? Или считают смурным параноиком?

anonymous
()
Ответ на: комментарий от anonymous

> tar -xf /var/portage/distfiles/pwgen-2.04.tar.gz

А ты уверен, что он хоть что-то распаковал? Просто 1.15.1 имеет дурную привычку совсем никак не ругаться на ошибки. Попробуй xvf.

И ради интереса посмотри, как он отнесется к архивам cpio (формата ASCII) и zip.

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от baka-kun

>> tar -xf /var/portage/distfiles/pwgen-2.04.tar.gz >А ты уверен, что он хоть что-то распаковал? Просто 1.15.1 имеет дурную >привычку совсем никак не ругаться на ошибки. Попробуй xvf. Уверен. Никогда не видел чтобы gnu tar молчал об ошибках. Пример в студию.

>И ради интереса посмотри, как он отнесется к архивам cpio (формата ASCII) и zip. А что тут смотреть? tar: This does not look like a tar archive

И вообще info tar рулит, там все написано.

anonymous
()
Ответ на: комментарий от anonymous

>> имеет дурную привычку совсем никак не ругаться на ошибки.

> Никогда не видел чтобы gnu tar молчал об ошибках. Пример в студию.

Легко. Скорми ему любой мусор размером меньше 512 байт -- даже не пикнет.

> tar: This does not look like a tar archive

Я в курсе. А bsdtar построен как оболочка к BSD libarchive, которая автоматически понимает gzip, bzip2, compress, GNU tar, Solaris tar, V7 tar, POSIX ustar, POSIX pax, POSIX cpio, ASCII cpio, binary cpio, ISO9660 ISO, ZIP. Поэтому `bsdtar x` распакует хоть .zip, хоть .iso.bz2

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от soko1

4.11 ещё нет, хотя появляется всё больше и больше портов, которые под неё не собираются и собираться никогда не будут.

anonymous
()
Ответ на: комментарий от dmesg

> А Ветке RELENG_4 уже три, и?

2006-1999 = ?

anonymous
()
Ответ на: комментарий от baka-kun

> GNU tar во FreeBSD заменен на более функциональный и безопасный bsdtar

Безопастный он потому как им мало кто пользуется и не наткнулись на все ошибки. А вот почему более функциональный (если рассматривать липь свойства формата tar и манипуляции с файлами tar) не рассказано. Учитывая хотя бы, что в bsdtar где-то в 1.5 раза меньше опций, я бы сказал, что он менее функциональный.

> Поэтому `bsdtar x` распакует хоть .zip, хоть .iso.bz2

А запакует .zip и .iso.bz2 тоже? Нечем тут гордиться, ещё бы WinZip привели как пример.

Не unix это way. Скрипт (un)pack, который умеет и распаковывать и запаковывать все возможные и невозможные форматы в зависимости от расширения или автоопределения и имеющий единый интерфейс написать тривиально. Но только в том случае, если это система unix, в которой присутствует zip (умеющий всё, что касается zip), tar (умеющий всё, что касается о tar), утилиты оптимизированные для работы с cpio, iso, а вовсе не блотваре-всё-в-одном tar. Форматы-то не зря совсем разные и для разных целей создавались, в одном есть возможность извлечь индивидуальный файл не распаковывая, другой поддерживает symlinks/hardlinks/pipes/devices, третий создан для максимального сжатия и т.д.

mihalych ★★★
()
Ответ на: комментарий от vtVitus

Обновить систему пробовал, или хотя бы пакет tar? :) Всё-таки твоя версия 1.13.25 пять лет назад была выпущена. Два года назад был выпущен стабильный 1.15.1, до этого в 1.14.91 было добавлено авто-определение формата сжатия.

mihalych ★★★
()
Ответ на: комментарий от vtVitus

>наномус ты читать умеешь ? Там ясно написанно какой это тар и какой он версии.

Очевидно очень старой. Какого века у тебя система?

>Легко. Скорми ему любой мусор размером меньше 512 байт -- даже не пикнет.

Убедил, но bsdtar, если распаковывает папку поверх существующей папки, ставит кривые права у файлов внутри этой папки. Тоже об этом молчит. Так что 1:1.

anonymous
()
Ответ на: комментарий от anonymous

> Убедил, но bsdtar, если распаковывает папку поверх существующей папки, ставит кривые права у файлов внутри этой папки.

Ничего подобного. Права на файлы ставятся строго в соответствие с umask, группа и/или владелец наследуются от каталога согласно настройкам системы. Если хочешь восстановить ВСЁ, используй:

-p (x mode only) Preserve file permissions. Attempt to restore the full permissions, including owner, file modes, file flags and ACLs, if available, for each item extracted from the archive. By default, newly-created files are owned by the user running tar, the file mode is restored for newly-created regular files, and all other types of entries receive default permissions.

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Убедил, но bsdtar, если распаковывает папку поверх существующей папки, ставит кривые права у файлов внутри этой папки.

Именно для этого надо иметь опции, много опций, для всех случаев жизни. Иногда надо сохранить существующие права файлов, иногда надо сделать с новыми, согласно umask, а иногда востановить права из тарбола. Как ни много есть опций в GNU tar (и вообще в утилитах GNU), мне часто не хватает. :) А об утилитах BSD я вообще молчу, как можно ими пользоваться, такое впечатление, что написаны для узкого круга разработчиков у которых нет моих случаев использования (use cases). :)

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

mihalych ★★★
()
Ответ на: комментарий от mihalych

> Безопастный он потому как им мало кто пользуется и не наткнулись на все ошибки.

Я так и думал, что по второй уязвимости, упомянутой мельком, будет больше всего вопросов. ;)

bsdtar широко распространен, если мне не изменяет память, с 2004 года? Сколько в нем было уязвимостей за это время? А текущая "гнутая уязвимость" (и не только она) отсечена сразу:

>*< Archive entries can have absolute pathnames. By default, tar removes the leading / character from filenames before restoring them to guard against this problem.

> А вот почему более функциональный (если рассматривать липь свойства формата tar и манипуляции с файлами tar) не рассказано.

Это сообщение об уязвимостях, а не о выходе новой версии bsdtar. Да почему рассматривать только tar? ;) Ты ведь должен быть в курсе, что tar удален из IEEE Std 1003.1-2001 в пользу pax, и "pax interchange format" поддерживается GNU tar, более того, вот-вот должен стать дефолтным.

> А запакует .zip и .iso.bz2 тоже?

А зачем отбирать хлеб у специализированных утилит? bsdtar -- это в первую очередь libarchive, созданная для обработки потоковых данных, для создания компактных и быстрых распаковщиков часто встречающихся архивов. Паковать она пока умеет только в tar, pax, cpio и shar.

> а вовсе не блотваре-всё-в-одном tar

Это "блотваре-всё-в-одном" позволяет собрать minitar -- статически слинкованый распаковщик любых tar архивов размером 64к.

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от mihalych

> Как ни много есть опций в GNU tar, мне часто не хватает.

Примеры use cases, пожалуйста.

> И посему сообщать он ошибке там где её вовсе нет не стоит

Раньше было "tar: archive - EOF not on block boundary".

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от mihalych

> в 1.14.91 было добавлено авто-определение формата сжатия.

Только криво его добавили. Если bsdtar (libarchive) весь из себя потоковый, и ему наплевать, откуда автодедектить, то GNU tar уже не сможет налету `gtar xf < some_archive.tar.bz2`, выдаст:

gtar: Архив сжат. Используйте опцию -j

gtar: Неисправимая ошибка: завершение работы

baka-kun ★★★★★
() автор топика
Ответ на: комментарий от mihalych

>Обновить систему пробовал, или хотя бы пакет tar? :)

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

> твоя версия 1.13.25 пять лет назад

я не спорю, я просто говорю, что это не изначальная фича, а что-то не так давно. Тем более

vitus@[vitus.xx.lcl]:/tmp>rpm -qi tar | grep 'Build Date'
Release : 325.6 Build Date: Thu Mar 2 23:42:22 2006

:)))

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

mihalych, никто не спорит, но все же хотелось бы что бы говорил :).
vtVitus, ну если тебе не нужна фича по автоопределению фомата то не ной что у тебя ее нет. Ты думаешь bsdtar эта фича всегда была?

baka-kun, если папки нет то все нормально, а если есть папка то делает лажу. Скажи, в чем разница между тем что папка есть и папки нет? К тому же если файл уже есть bsdtar его перезапишет и сделает нормальные пермишены. А если есть папка то для нее пермишены восстановятся только с -p. gtar работает более предсказуемо. Более того, если папка уже есть то никакой -p ей права не вернет, в отличие от gnu tar. А это гораздо более серьезная и реальная проблема чем то что gtar игнорирует мелкие файлы. К тому же ты сказал что gnu tar любит молчать об ошибках. О чем он еще молчит?

anonymous
()
Ответ на: комментарий от anonymous

ой, сорри за форматирование :(((

anonymous
()
Ответ на: комментарий от baka-kun

> bsdtar широко распространен, если мне не изменяет память, с 2004 года?

Очень смешно. :) Два года на OS с маленьким числом пользователей. Когда речь идёт о десятках лет использования десятками миллионов пользователей.

>*< Archive entries can have absolute pathnames. By default, tar removes the leading / character from filenames before restoring them to guard against this problem.

Так ведь GNU tar делает и всегда делал то же самое. Ты как видно не читал в чём заключалась уязвимость. Проблема в том как обрабатывать символические линки, разрешать их или нет, если разрешать, то внутренние или внешние. Ведь есть use cases, когда надо и с абсолютными путями работать, хотя лично мне лишь один раз когда-то понадобилось. В общем, был такой feature для редко-используемого (считай неиспользуемого ныне) формата. Нужно ли называть его bug, exploit? Не думаю. Ведь можно и скрипт написать, который делает форматирование диска и попросить его запустить как root.

> Это "блотваре-всё-в-одном" позволяет собрать minitar -- статически слинкованый распаковщик любых tar архивов размером 64к.

Я не о размере бинарника, а о количестве дополнительного поддерживаемого кода, нужном для распаковки zip, iso и других не-tar форматов, и количестве ошибок (потенциальных эксплойтов) в этом коде.

mihalych ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.