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

26 октября 2014 года

В популярной утилите 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-файлов на днях также

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Опасная уязвимость в GNU strings и других утилитах binutils», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.