The OpenNET Project / Index page

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

26.10.2014 09:30  Опасная уязвимость в GNU strings и других утилитах binutils

В популярной утилите strings, входящей в состав пакета GNU binutils и используемой для выделения из файла строковых данных, выявлена опасная уязвимость, которая может привести к выполнению кода при открытии специально оформленного файла в формате ELF. Проблема заключается в том, что по умолчанию для исполняемых файлов в strings помимо обычного алгоритма выделения строк используются функции библиотеки libbfd (данное поведение отключается при указании опции "-a"), ошибка в коде разбора заголовков формата ELF в которой приводит к переполнению буфера.

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

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

За появлением патча с устранением проблемы можно проследить на данной странице (сообщается, что выпущенное в августе исправление устраняет проблему, но данная информация ещё не подтверждена). Обновления пакетов для дистрибутивов пока не выпущены, идентификатор CVE не присвоен. Интересно, что ранее уже публиковались сообщения об ошибках, связанных с данной проблемой, например, пользователи Gentoo обратили внимание на крахи утилит из состава binutils ещё в 2005 году. Аналогичные проблемы с разбором ELF-файлов на днях также обнаружены в коде readelf.c из состава библиотеки libmagic, а также в основанных на данной библиотеке пакете "file" и в PHP-модуле "fileinfo".

  1. Главная ссылка к новости (http://openwall.com/lists/oss-...)
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: strings
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 09:57, 26/10/2014 [ответить] [смотреть все]    [к модератору]
  • +9 +/
    Хороший способ защиты от отладки:

    $ 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
    Ошибка сегментирования

     
     
  • 2.5, Аноним, 12:28, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]
  • –1 +/
    Большинство отладчиков, как я понял, использует подмену символов стандартных либ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.12, AAAAAAaaAAAAAA, 13:30, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +5 +/
    Все вы не правильно поняли, подавляющее большинство отладчкиков опираются на пр... весь текст скрыт [показать]
     
  • 3.13, asdfghjkl, 14:00, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    man int3
     
     
  • 4.16, Аноним, 14:45, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Необходимо ли владеть исходником куска проприетари, чтобы это вставить, причём т... весь текст скрыт [показать]
     
     
  • 5.39, angra, 03:04, 27/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Иногда уровень деградации просто поражает Но на вопрос отвечу, нет не нужно Бо... весь текст скрыт [показать]
     
  • 2.22, EverWinter, 17:08, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –2 +/
    code gdb strings-bfd-badptr GNU gdb Debian 7 7 1 dfsg-3 7 7 1 Copyright C ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Michael Shigorin, 20:28, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    > strings-bfd-badptr: Нет такого файла или каталога.

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

     
     
  • 4.41, Анотим, 08:04, 27/10/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Ха-ха-ха, юный комментатор опростоволосился.
     
  • 1.3, Аноним, 11:02, 26/10/2014 [ответить] [смотреть все]    [к модератору]  
  • –12 +/
    Расстраивают опять GNU. Вроде простая задача, но и тут нашли проблему.
     
     
  • 2.7, vi, 12:55, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Да нет же, анонимов гораздо больше, чем три GNU ... весь текст скрыт [показать] [показать ветку]
     
  • 2.8, RomanCh, 12:55, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +6 +/
    1. Сделай лучше. Код же открыт, никто не запрещает изучить его и поправить все проблемы.
    2. В очередной раз нам предоставлен убедительный пример того, что не стоит ничего хоть сколь-нибудь неведомого запускать из под root'а. (даже man-страницы поставленные с не полностью доверенным софтом запускать из под root'а *опасно*)
     
  • 2.11, Аноним, 13:23, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –4 +/
    Потому что горе от ума За каким буем они полезли в хидеры Ж а просила приклю... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, Аноним, 14:27, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +6 +/
    Правильно! Не ошибаются те, кто ничего не делает.
    Я безошибочно на диване лежу - и никаких вам глюков, уязвимостей и прочих.
    Берите пример.
     
     
  • 4.20, bOOster, 15:00, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –6 +/
    Лезть куда-то надо понимая что делать и как А оценивая че твориться с ядром и в... весь текст скрыт [показать]
     
     
  • 5.21, Аноним, 16:27, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +4 +/
    я тебя сейчас расстрою, но мир так устроен, что никто не понимает до конца как о... весь текст скрыт [показать]
     
  • 5.25, Аноним, 17:36, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Демократия - хреновый режим Проблема в том что лучше неё все равно ничего нет ... весь текст скрыт [показать]
     
     
  • 6.27, vi, 17:53, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Не смотря на то, что это сказал Аноним, не могу не согласиться И как, у каждой ... весь текст скрыт [показать]
     
     
  • 7.54, vi, 09:50, 28/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Та щас же каникулы ... весь текст скрыт [показать]
     
  • 3.17, umbr, 14:53, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    >Ок, приключения нашлись!

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

     
  • 3.19, Мимокрокодил, 15:00, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Нда, очередной ответ на вопрос, а хер ли ж софт столько места жрёт, и подтвержде... весь текст скрыт [показать]
     
     
  • 4.26, Аноним, 17:40, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну ты и деб W - не не дебиан, ты балбес мягко говоря А в Киеве - дядька Где... весь текст скрыт [показать]
     
     
  • 5.31, Michael Shigorin, 20:30, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Вам тоже, но санитар-батыр порой таки приходит ... весь текст скрыт [показать]
     
     
  • 6.34, Аноним, 22:15, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Намёк понял Но я всё таки надеюсь что я с той стороны стекла, где сидят докт... весь текст скрыт [показать]
     
  • 3.44, Василий. Пупкин конечно же., 09:43, 27/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    хидеры Гы D Поражает как же люди до сих пор не могут выучить английский, чтобы... весь текст скрыт [показать]
     
  • 2.40, angra, 03:18, 27/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Простая задача As of 2003, it supports approximately 50 file formats for some 2... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.42, vi, 08:16, 27/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Нееет, только не в понедельник с утра ... весь текст скрыт [показать]
     
  • 1.28, all_glory_to_the_hypnotoad, 18:22, 26/10/2014 [ответить] [смотреть все]     [к модератору]  
  • –11 +/
    O_o первый раз о такой слышу... весь текст скрыт [показать]
     
     
  • 2.37, Led, 01:00, 27/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    > O_o первый раз о такой слышу

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

     
  • 2.38, Куяврег, 01:42, 27/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –1 +/
    йуный аптгетчик?
     
  • 2.47, linvinus, 10:42, 27/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    вы просто ещё её не проходили,чтобы понять что возвращает strings, сначала изуча... весь текст скрыт [показать] [показать ветку]
     
  • 1.29, Anonymus, 18:53, 26/10/2014 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Ждём уязвимостей в hexdump?
     
     
  • 2.32, Аноним, 21:13, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Ждём раскрытия уязвимостей в hexdump.
     
  • 2.46, Аноним, 09:57, 27/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Главное чтобы не в cat. Это будет вообще уже...
     
  • 2.50, vitalif, 15:29, 27/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Ждём уязвимостей в /dev/null!
     
     
  • 3.51, Аноним, 15:35, 27/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Кстати да В dev null чего только не копируют, если повесить на нем выдергива... весь текст скрыт [показать]
     
  • 1.33, Аноним, 21:16, 26/10/2014 [ответить] [смотреть все]    [к модератору]  
  • +/
    Жёлтая пресса так любит делать из мухи слона... :)
     
     
  • 2.35, Ordu, 22:58, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Да ладно вам, весьма любопытно наблюдать за реакцией т.н. "сообщества".
     
  • 2.36, Аноним, 23:14, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Просто раньше желтая пресса знать не знала про то, как софт разрабатывается, а п... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.52, Аноним, 16:33, 27/10/2014 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    ну шутки шутками а б-во хотсеров соурсфорджа были замечены в модицификации бинар... весь текст скрыт [показать]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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