Віддалена DoS-вразливість в IPv6-стеку FreeBSD

У FreeBSD усунута вразливість (CVE-2019-5611), що дозволяє викликати крах ядра (packet-of-death) через відправлення спеціально фрагментованих пакетів ICMPv6 MLD (Виявлення багатоадресного слухача). Проблема викликана відсутністю необхідної перевірки у виклику m_pulldown(), що може призвести до повернення не безперервних ланцюжків mbufs, всупереч очікування сторони, що викликає.

уразливість усунута в оновленнях 12.0-RELEASE-p10, 11.3-RELEASE-p3 та 11.2-RELEASE-p14. Як обхідний шлях захисту можна вимкнути підтримку фрагментації для IPv6 або фільтрувати на міжмережевому екрані опції в заголовку HBH (Hop-by-Hop). Цікаво, що помилка, що призводить до вразливості, була виявлена ​​ще в 2006 році і усунена в OpenBSD, NetBSD і macOS, але залишилася невиправленою у FreeBSD, незважаючи на те, що розробники FreeBSD були повідомлені про проблему.

Також можна відзначити усунення у FreeBSD ще двох уразливостей:

  • CVE-2019-5603 - Переповнення лічильника посилань на структури даних у mqueuefs при використанні 32-розрядних бібліотек у 64-розрядному оточенні (32-bit compat). Проблема проявляється при включенні mqueuefs, яка не активна за замовчуванням, і може призвести до доступу до файлів, каталогів і сокетів, відкритих процесів, що належать іншим користувачам, або для організації доступу до зовнішніх файлів з jail-оточення. За наявності у користувача root-доступу в jail вразливість дозволяє отримати root-доступ на стороні хост-оточення.
  • CVE-2019-5612 — проблема при багатопотоковому доступі до пристрою /dev/midistat у разі стану гонки може призвести до читання областей пам'яті ядра поза межами виділеного для midistat буфера. На 32-розрядних системах спроба експлуатації вразливості призводить до краху ядра, а на 64-розрядних дозволяє дізнатися про вміст довільних областей пам'яті ядра.

Джерело: opennet.ru

Додати коментар або відгук