Подведены итоги аудита кода библиотеки GNU libmicrohttpd

29 мая 2017 года

Проект GNU опубликовал выпуск библиотеки libmicrohttpd 0.9.55, представляющей простой API для встраивания функциональности HTTP-сервера в приложения. Библиотека поддерживает протокол HTTP 1.1, TLS, инкрементальную обработку POST-запросов, basic- и digest-аутентификацию, IPv6, SHOUTcast и различные методы мультиплексирования соединений (select, poll, pthread, thread pool). Среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, macOS, Win32, Symbian и z/OS.

Выпуск примечателен исправлением недоработок, выявленных в результате аудита безопасности кодовой базы, проведённого компанией Least Authority в рамках инициативы Mozilla по аудиту важных открытых проектов. В ходе аудита были выявлены четыре проблемы, одна из которых отнесена к умеренно опасным уязвимостям, две к неопасным и одна помечена как замечание. Из проблем отмечается использование функции форматирования строки sprintf без явного указания размера буфера (например sprintf(buf, "%s", str)), а также функции strcpy, вместо которых следовало применять snprintf и strncpy. Также выявлены проблемы с обращением к файловому дескриптору до его инициализации при сборке в режиме "-Wall" и обработкой заголовков с пробелами, которые должны отбрасываться в соответствии с требованиями RFC 7230.

Из не связанных с безопасностью изменений отмечается устранение проблем со сборкой на Linux-системах без поддержки epoll, обеспечение поддержки опции MHD_OPTION_STRICT_FOR_CLIENT и информационной переменной MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE, проведение чистки от устаревшего кода и оптимизация определения закрытия соединения keep-alive.

Источники

править


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

Комментарии

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