В TCP-стеке всех поддерживаемых веток FreeBSD выявлена опасная уязвимость (CVE-2014-3000), позволяющая инициировать крах ядра через отправку специально оформленного набора TCP-пакетов в рамках установленного сетевого соединения. Так как в результате уязвимости часть памяти стека может быть переписана данными из других нитей ядра, не исключается вариант эксплуатации уязвимости, при котором злоумышленник может получить доступ к областям памяти ядра, которые потенциально могут содержать конфиденциальные данные, такие как параметры входа. При этом проведение подобной атаки отмечается как слишком трудоёмкий процесс, требующий тщательной организации атаки с учётом особенностей целевой системы.

Уязвимость вызвана ошибкой в коде помещения пакетов в очередь сборки (reassembly queue). В ситуации когда в рамках TCP-соединения пакеты приходят с нарушением цепочки следования порядковых номеров, сегменты помещаются в очередь сборки и ожидают появления пакетов с недостающими номерами. Из-за ошибки, очередной сегмент данных может быть добавлен в стек при достижении лимита на максимальный размер очереди, что приводит к неопределённому состоянию памяти стека после возврата из функции помещения пакета в очередь.

Проблема исправлена в выпусках 8.4-STABLE, 8.4-RELEASE-p9, 8.3-RELEASE-p16, 9.2-STABLE, 9.2-RELEASE-p5, 9.1-RELEASE-p12, 10.0-STABLE и 10.0-RELEASE-p2. В качестве обходного пути для защиты от уязвимости при помощи пакетного фильтра pf может быть включен режим нормализации входящих пакетов (правило "scrub in all").

Дополнительно отмечается устранение ещё двух уязвимостей, которые проявляются только в ветке FreeBSD 10.0:

  • Проблема (CVE-2014-3001) с загрузкой правил ограничения доступа к devfs для jail-окружений. Так как правила devfs не активировались при загрузке, присутствовала возможность создания узлов devfs из jail-окружений с системными правами доступа, без применения ограничений и скрытия узлов для изолированных окружений. Таким образом запущенный в jail-окружении процесс мог получить доступ к закрытым ресурсам хост-системы, в том числе ко всем имеющимся устройствам, что позволяло атакующему повысить свои привилегии или организовать утечку информации.
  • Во входящем в состав базовой системы пакете OpenSSL устранена уязвимость (CVE-2010-5298), позволяющая атакующему осуществить подстановку данных в буфер, используемый в другом SSL-соединении, установленном в рамках того же многопоточного приложения. Проблема вызвана инициированием освобождения памяти буфера, до фактического окончания его использования (use-after-free). Проблема выявлена в процессе аудита кода OpenSSL проектом OpenBSD и затрагивает все версии OpenSSL (включая 1.0.1g), собранные с опцией SSL_MODE_RELEASE_BUFFERS.


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