top
logo


Опасная уязвимость в GNU strings и других утилитах binutils PDF Печать E-mail
26.10.14 05:30

В популярной утилите 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-security/2...)
Тип: Проблемы безопасности
Ключевые слова: strings, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.1, Аноним, 09:57, 26/10/2014 [ответить] [смотреть все]     [к модератору] +5 +/
Хороший способ защиты от отладки gdb strings-bfd-badptr GNU gdb GDB 7 4 Cop... весь текст скрыт [показать]
 
  2.5, Аноним, 12:28, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
Большинство отладчиков, как я понял, использует подмену символов стандартных либ... весь текст скрыт [показать] [показать ветку]
 
  3.13, asdfghjkl, 14:00, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
man int3
 
  4.16, Аноним, 14:45, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Необходимо ли владеть исходником куска проприетари, чтобы это вставить, причём т... весь текст скрыт [показать]
 
2.22, EverWinter, 17:08, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +/ [code]$ 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)[/code]
ну-ну
 
1.3, Аноним, 11:02, 26/10/2014 [ответить] [смотреть все]     [к модератору]  –9 +/
Расстраивают опять GNU Вроде простая задача, но и тут нашли проблему ... весь текст скрыт [показать]
 
  2.8, RomanCh, 12:55, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +2 +/
1. Сделай лучше. Код же открыт, никто не запрещает изучить его и поправить все проблемы.
2. В очередной раз нам предоставлен убедительный пример того, что не стоит ничего хоть сколь-нибудь неведомого запускать из под root'а. (даже man-страницы поставленные с не полностью доверенным софтом запускать из под root'а *опасно*)
 
2.11, Аноним, 13:23, 26/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
Потому что горе от ума За каким буем они полезли в хидеры Ж а просила приклю... весь текст скрыт [показать] [показать ветку]
 
  3.15, Аноним, 14:27, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +2 +/
Правильно Не ошибаются те, кто ничего не делает Я безошибочно на диване лежу -... весь текст скрыт [показать]
 
  4.20, bOOster, 15:00, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  –1 +/
Лезть куда-то надо понимая что делать и как. А оценивая че твориться с ядром и вообще разработкой под линь - большинство писак под линукс не понимает изза лени, нежелания изучения или отсутствия документации, потому как предыдущий "ПИСАТЕЛЬ" не удосужился ее написать, изобретает свой велосипед - к чему  и приводит.
А не ошибается только тот кто ДЕЛАЕТ аккуртано, а не тяп-ляп.
И это мы уже обсуждали.
 
  5.21, Аноним, 16:27, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
я тебя сейчас расстрою, но мир так устроен, что никто не понимает до конца как о... весь текст скрыт [показать]
 
5.25, Аноним, 17:36, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Демократия - хреновый режим Проблема в том что лучше неё все равно ничего нет ... весь текст скрыт [показать]
 
  6.27, vi, 17:53, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
>> Лезть куда-то надо понимая что делать и как. А оценивая че твориться
>> с ядром и вообще разработкой под линь
> "Демократия - хреновый режим. Проблема в том что лучше неё все равно
> ничего нет!" (С) У. Черчилль (если не врут).
> Так вот сынок - линукс хреновая штука ... :)

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

 
3.19, Мимокрокодил, 15:00, 26/10/2014 [^] [ответить] [смотреть все]    [к модератору]  +1 +/ Нда, очередной ответ на вопрос, а хер ли ж софт столько места жрёт,
и подтверждение истины, хочешь, чтобы работало хорошо - напиши сам.
Ибо некоторые программисты максимум пользы приносят только будучи привязаны к стулу вместе с руками, но тем не менее им дают комиттить патчи.
 
  4.26, Аноним, 17:40, 26/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Ну ты и деб W - не не дебиан, ты балбес мягко говоря А в Киеве - дядька Где... весь текст скрыт [показать]
 
1.29, Anonymus, 18:53, 26/10/2014 [ответить] [смотреть все]    [к модератору]  +/ Ждём уязвимостей в hexdump?
 
Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=40931

 
Интересная статья? Поделись ей с другими:

bottom

 

Unreal Commander PfSense по русски Яндекс.Метрика