Аудит сетевого стека NetBSD выявил уязвимости в BSD-системах

29 мая 2018 года

Организация The NetBSD Foundation оплатила проведение аудита безопасности сетевого стека, работа по выполнению которого после пяти месяцев работы находится на заключительном этапе. В кодовую базу NetBSD внесены сотни исправлений, направленных на улучшение качества кода и устранение выявленных в ходе аудита проблем, в том числе удалённо эксплуатируемых уязвимостей. Опубликован первый отчёт о выявленных уязвимостях, большинство из которых не специфичны для NetBSD и проявляются в других BSD-системах.

Например, в реализациях IPsec из NetBSD, FreeBSD и OpenBSD выявлено несколько уязвимостей (CVE-2018-6916, CVE-2018-6918), позволяющих инициировать переполнение буфера при обработке специально отправленных сетевых пакетов и вызвать крах ядра. Переполнение буфера также выявлено в стеке IPv6 NetBSD и других BSD-систем - через отправку специально оформленного пакета IPv6 можно вызвать перезапись 1 байта за пределом буфера, но манипулируя вложенными фрагментами теоретически можно добиться перезаписи целых областей.

В реализации IPv6 Multicast из NetBSD и FreeBSD выявлена возможность создания ситуации обращения к уже освобождённым блокам памяти (use-after-free) при обработке определённых пакетов (обработчик Pim6 при некоторых условиях возвращал флаг IPPROTO_NONE вместо IPPROTO_DONE, что приводило к двойному освобождению буфера). Проблема позволяет удалённо вызвать крах ядра, в случае сборки с поддержкой Multicast. Идентичная ошибка найдена в обработчике EtherIP из OpenBSD, который доступен в конфигурации по умолчанию. .

Из специфичных для NetBSD проблем отмечаются уязвимости в пакетных фильтрах PF и NPF, вызванные целочисленным переполнением в обработчике TCP-SYN и коде для разбора пакетов IPv6 с опциями большого размера. Уязвимости могут быть использованы для инициирования отказа в обслуживании через отправку определённых сетевых пакетов.

Из не связанных с уязвимостями изменений, внесённых в кодовую базу NetBSD в ходе аудита, отмечается проведение работы по усилению защищённости mbuf API, добавлению дополнительных проверок KASSERT, упрощению кода обработки пакетов, проверке соответствия логики работы требованиям RFC, чистке кода IPsec (удалено более 1000 строк, повышена производительность и надёжность).

Источники

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

Комментарии

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