Результаты аудита безопасности библиотек Boost

Фонд OSTIF (Open Source Technology Improvement Fund), созданный с целью усиления защищённости открытых проектов, опубликовал результаты аудита безопасности библиотек Boost, применяемых во многих проектах на языке C++. Аудит, который был проведён по заказу OSTIF и Amazon Web Services итальянской компанией Shielder, выявил 7 проблем, из которых одной присвоен средний уровень опасности, а четырём — низкий, две проблемы опубликованы в виде информационных замечаний.

Изученные в ходе аудита библиотеки:

  • Boost.Beast
  • Boost.DLL
  • Boost.Date_Time
  • Boost.Filesystem
  • Boost.GIL
  • Boost.Graph
  • Boost.JSON
  • Boost.Program_Options
  • Boost.Regex
  • Boost.String_Algo
  • Boost.URL
  • Boost.UUID

Выявленные проблемы:

  • Уязвимость в Boost.Beast, допускающая подстановку символов возврата каретки и перевода строки (CRLF) в HTTP-заголовки (может использоваться для расщепления заголовков). Проблеме присвоен средний уровень опасности.
  • Переполнение стека в библиотеке Boost.Regex при рекурсивном выполнении операций с несколькими элементами end_line в регулярном выражении.
  • Переполнение стека в библиотеке Boost.Regex при рекурсивном выполнении операций с несколькими группами захвата и объединения.
  • Переполнение стека в библиотеке Boost.Regex при рекурсивном выполнении операций с несколькими открытыми круглыми скобками в строке форматирования.
  • Переполнение стека в библиотеке Boost.Graph при рекурсивном выполнении операций с несколькими вложенными графами.
  • Assert-срабатывание в функции breadth_first_search из библиотеки Boost.Graph.
  • Неперехваченные исключения в Boost.DLL.

На основании полученной в ходе аудита информации команда разработчиков Boost уже устранила 4 проблемы и внесла 15 улучшений для расширения охвата кода и функций при проведении fuzzing-тестирования. Пока не исправлена проблема с расщеплением заголовков в Boost.Beast и не учтены информационные рекомендации.

Источник: http://www.opennet.ru/opennews/art.shtml?num=61233