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

Исходное сообщение
"Опасная уязвимость в утилите GNU strings и других утилитах b..."

Отправлено opennews , 26-Окт-14 09:57 
В популярной утилите strings, входящей в состав пакета GNU binutils и используемой для выделения из файла строковых данных, выявлена (http://lcamtuf.blogspot.ru/2014/10/psa-dont-run-strings-on-u... опасная уязвимость, которая может привести к выполнению кода при открытии специально оформленного файла в формате ELF. Проблема заключается в том, что по умолчанию для исполняемых файлов в strings помимо обычного алгоритма выделения строк используются функции библиотеки  libbfd (https://en.wikipedia.org/wiki/Binary_File_Descriptor_library) (данное поведение отключается при указании опции "-a"), ошибка в коде разбора заголовков формата ELF в которой приводит к переполнению буфера.


Библиотека libbfd также используется в других утилитах, в том числе в  objdump, gdb, nm, stringme и readelf, но утилита strings более популярна и обычно первым делом используется исследователями безопасности при анализе содержимого тех или иных файлов, загруженных извне. Уязвимости в strings никто не ожидал, так как считается, что  strings выполняет простую операцию фильтрации печатных символов, в которой маловероятно возникновение ошибок, способных привести к уязвимостям. При этом мало кто знает, что при разборе объектных файлов, вариант утилиты strings из пакета GNU binutils привлекает внешнюю библиотеку libbfd для определения исполняемого файла и разбора его заголовков.


Пример файла, при обработки которого происходит крах можно загрузить здесь (http://lcamtuf.coredump.cx/strings-bfd-badptr). По предварительной оценке (http://openwall.com/lists/oss-security/2014/10/24/10) уязвимость вполне пригодна для эксплуатации и в скором времени можно ожидать создания рабочего эксплоита. Так как, вероятно, что проблемы в libbfd не ограничиваются одной уязвимостью, разработчикам дистрибутивов рекомендуется перейти к включению по умолчанию опции "-a" в утилите strings.


За появлением патча с устранением проблемы можно проследить на данной странице (https://sourceware.org/bugzilla/show_bug.cgi?id=17510) (сообщается, что выпущенное в августе исправление (https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=bd... устраняет проблему, но данная информация ещё не подтверждена). Обновления пакетов для дистрибутивов пока не выпущены, идентификатор CVE не присвоен. Интересно, что ранее уже публиковались сообщения об ошибках, связанных с данной проблемой, например, пользователи Gentoo обратили внимание (https://bugs.gentoo.org/show_bug.cgi?id=91398) на крахи утилит из состава binutils ещё в 2005 году. Аналогичные проблемы с разбором ELF-файлов на днях также обнаружены (https://security-tracker.debian.org/tracker/CVE-2014-3710) в коде readelf.c из состава библиотеки libmagic, а также в основанных на данной библиотеке  пакете "file (https://github.com/file/file/commit/39c7ac1106be844a5296d3eb... и в PHP-модуле (http://git.php.net/?p=php-src.git;a=commitdiff;h=1803228) "fileinfo (https://bugs.php.net/bug.php?id=68283)".

URL: http://openwall.com/lists/oss-security/2014/10/23/4
Новость: http://www.opennet.me/opennews/art.shtml?num=40931


Содержание

Сообщения в этом обсуждении
"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено Аноним , 26-Окт-14 09:57 
Хороший способ защиты от отладки:

$ gdb strings-bfd-badptr
GNU gdb (GDB) 7.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu".

Ошибка сегментирования


$ nm strings-bfd-badptr
Ошибка сегментирования

$ objdump -x strings-bfd-badptr
Ошибка сегментирования

$ strings strings-bfd-badptr
Ошибка сегментирования


"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено Аноним , 26-Окт-14 12:28 
Большинство отладчиков, как я понял, использует подмену символов стандартных либ и вставки кода, что в общем случае наивно. Нормальная отладка должна быть через ядро, что-то вроде виртуализации, так чтобы бинарь даже не заметил присутствия дебаггера.

"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено AAAAAAaaAAAAAA , 26-Окт-14 13:30 
Все вы не правильно поняли, подавляющее большинство отладчкиков опираются  на предоставляемые процессором возможности отлаживать себя.

Можете начать изучение отсюда:

http://en.wikipedia.org/wiki/X86_debug_register


"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено asdfghjkl , 26-Окт-14 14:00 
man int3

"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено Аноним , 26-Окт-14 14:45 
Необходимо ли владеть исходником куска проприетари, чтобы это вставить, причём так, чтобы проприетарь не догадалась?

"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено angra , 27-Окт-14 03:04 
Иногда уровень деградации просто поражает. Но на вопрос отвечу, нет не нужно. Более того, для свободного софта это тоже не вставляется в исходный код.

"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено EverWinter , 26-Окт-14 17:08 
$ gdb strings-bfd-badptr
GNU gdb (Debian 7.7.1+dfsg-3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
strings-bfd-badptr: Нет такого файла или каталога.
(gdb)

ну-ну

"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено Michael Shigorin , 26-Окт-14 20:28 
> strings-bfd-badptr: Нет такого файла или каталога.

Очевидно, Вы не поняли.


"Опасная уязвимость в утилите GNU strings и других утилитах b..."
Отправлено Анотим , 27-Окт-14 08:04 
Ха-ха-ха, юный комментатор опростоволосился.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 11:02 
Расстраивают опять GNU. Вроде простая задача, но и тут нашли проблему.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено vi , 26-Окт-14 12:55 
> Расстраивают опять GNU. Вроде простая задача, но и тут нашли проблему.

Да нет же, анонимов гораздо больше, чем три GNU ;)


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено RomanCh , 26-Окт-14 12:55 
1. Сделай лучше. Код же открыт, никто не запрещает изучить его и поправить все проблемы.
2. В очередной раз нам предоставлен убедительный пример того, что не стоит ничего хоть сколь-нибудь неведомого запускать из под root'а. (даже man-страницы поставленные с не полностью доверенным софтом запускать из под root'а *опасно*)

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 13:23 
> Расстраивают опять GNU. Вроде простая задача, но и тут нашли проблему.

Потому что горе от ума. За каким буем они полезли в хидеры? Ж...а просила приключений? Ок, приключения нашлись!


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 14:27 
Правильно! Не ошибаются те, кто ничего не делает.
Я безошибочно на диване лежу - и никаких вам глюков, уязвимостей и прочих.
Берите пример.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено bOOster , 26-Окт-14 15:00 
Лезть куда-то надо понимая что делать и как. А оценивая че твориться с ядром и вообще разработкой под линь - большинство писак под линукс не понимает изза лени, нежелания изучения или отсутствия документации, потому как предыдущий "ПИСАТЕЛЬ" не удосужился ее написать, изобретает свой велосипед - к чему  и приводит.
А не ошибается только тот кто ДЕЛАЕТ аккуртано, а не тяп-ляп.
И это мы уже обсуждали.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 16:27 
я тебя сейчас расстрою, но мир так устроен, что никто не понимает до конца как он действует, значит, надо всем идти лежать на диван, потому-что вдруг чего случится! ай-яй-яй!

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 17:36 
> Лезть куда-то надо понимая что делать и как. А оценивая че твориться
> с ядром и вообще разработкой под линь

"Демократия - хреновый режим. Проблема в том что лучше неё все равно ничего нет!" (С) У. Черчилль (если не врут).
Так вот сынок - линукс хреновая штука ... :)

> А не ошибается только тот кто ДЕЛАЕТ аккуртано, а не тяп-ляп.

А теперь сядь. Или лучше ляжь. Ошибаются даже такие :)

> И это мы уже обсуждали.

Со своим психологом? :)


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено vi , 26-Окт-14 17:53 
>> Лезть куда-то надо понимая что делать и как. А оценивая че твориться
>> с ядром и вообще разработкой под линь
> "Демократия - хреновый режим. Проблема в том что лучше неё все равно
> ничего нет!" (С) У. Черчилль (если не врут).
> Так вот сынок - линукс хреновая штука ... :)

Не смотря на то, что это сказал Аноним, не могу не согласиться.
И как, у каждой демократии свои скелеты в шкафу, так и каждого линукса свои дыры в коде.



"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено vi , 28-Окт-14 09:50 
>>> Лезть куда-то надо понимая что делать и как. А оценивая че твориться
>>> с ядром и вообще разработкой под линь
>> "Демократия - хреновый режим. Проблема в том что лучше неё все равно
>> ничего нет!" (С) У. Черчилль (если не врут).
>> Так вот сынок - линукс хреновая штука ... :)
> Не смотря на то, что это сказал Аноним, не могу не согласиться.
> И как, у каждой демократии свои скелеты в шкафу, так и каждого
> линукса свои дыры в коде.

Та щас же каникулы!


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено umbr , 26-Окт-14 14:53 
>Ок, приключения нашлись!

Может быть, что приключения их сами нашли.


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Мимокрокодил , 26-Окт-14 15:00 
Нда, очередной ответ на вопрос, а хер ли ж софт столько места жрёт,
и подтверждение истины, хочешь, чтобы работало хорошо - напиши сам.
Ибо некоторые программисты максимум пользы приносят только будучи привязаны к стулу вместе с руками, но тем не менее им дают комиттить патчи.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 17:40 
> Нда, очередной ответ на вопрос, а хер ли ж софт столько места жрёт,

Ну ты и деб^W - не не дебиан, ты балбес мягко говоря :)"А в Киеве - дядька!"

> и подтверждение истины, хочешь, чтобы работало хорошо - напиши сам.

Где урл на GitHUb с вашей нетленкой? Мы уже в очереди, чтобы вкусить мудрости безглючного кода :)

> Ибо некоторые программисты максимум пользы приносят только будучи
> привязаны к стулу вместе с руками,

А ... то есть ты пишешь из горяшего^W из своей психушки?

> но тем не менее им дают комиттить патчи.

наврали вам санитары то! :) Вам дают постить на опеннет, коммиты - это о другом :)


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Michael Shigorin , 26-Окт-14 20:30 
> наврали вам санитары то! :) Вам дают постить на опеннет

Вам тоже, но санитар-батыр порой таки приходит.


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 22:15 
Намёк понял :)
Но я всё таки надеюсь что я с той стороны стекла, где сидят доктора и студенточки :)

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Василий. Пупкин конечно же. , 27-Окт-14 09:43 
хидеры? Гы :D
Поражает как же люди до сих пор не могут выучить английский, чтобы хоть _читать_ уметь правильно, не говоря о том чтобы произносить :(

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено angra , 27-Окт-14 03:18 
Простая задача?
As of 2003, it supports approximately 50 file formats for some 25 processor architectures.

Its key services include handling byte order differences, such as between a little-endian host and big-endian target, correct conversion between 32-bit and 64-bit data, and details of address arithmetic specified by relocation entries.

Я так понимаю, что ты каждый день решаешь такие простые задачи, ну покажи нам свою сложную.


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено vi , 27-Окт-14 08:16 
> Простая задача?
> As of 2003, it supports approximately 50 file formats for some 25
> processor architectures.
> Its key services include handling byte order differences, such as between a
> little-endian host and big-endian target, correct conversion between 32-bit and 64-bit
> data, and details of address arithmetic specified by relocation entries.
> Я так понимаю, что ты каждый день решаешь такие простые задачи, ну
> покажи нам свою сложную.

Нееет, только не в понедельник с утра ;)


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено all_glory_to_the_hypnotoad , 26-Окт-14 18:22 
> В популярной утилите strings, входящей в состав пакета GNU binutils

O_o первый раз о такой слышу


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Led , 27-Окт-14 01:00 
> O_o первый раз о такой слышу

А таблицу умножения уже осилил?


"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Куяврег , 27-Окт-14 01:42 
йуный аптгетчик?

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено linvinus , 27-Окт-14 10:42 
вы просто ещё её не проходили,чтобы понять что возвращает strings, сначала изучают букварь

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Anonymus , 26-Окт-14 18:53 
Ждём уязвимостей в hexdump?

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 21:13 
Ждём раскрытия уязвимостей в hexdump.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 27-Окт-14 09:57 
Главное чтобы не в cat. Это будет вообще уже...

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено vitalif , 27-Окт-14 15:29 
Ждём уязвимостей в /dev/null!

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 27-Окт-14 15:35 
Кстати да... В /dev/null чего только не копируют, если повесить на нем выдергиватель приватной инфы, то можно много чего насобирать. :)

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 21:16 
Жёлтая пресса так любит делать из мухи слона... :)

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Ordu , 26-Окт-14 22:58 
Да ладно вам, весьма любопытно наблюдать за реакцией т.н. "сообщества".

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 26-Окт-14 23:14 
Просто раньше желтая пресса знать не знала про то, как софт разрабатывается, а потом GitHub пропиарил багтрекеры и СКВ, и теперь журналисты каждый security bug оборачивают в шпионские игры АНБ.

"Опасная уязвимость в GNU strings и других утилитах binutils"
Отправлено Аноним , 27-Окт-14 16:33 
ну шутки шутками а б-во хотсеров соурсфорджа были замечены в модицификации бинарей, да и сам оный - не младенец. хотя с голой ж его как cnet не ловили конечно и прочих.