Zdalna luka DoS w stosie FreeBSD IPv6

Na FreeBSD wyłączony luka w zabezpieczeniach (CVE-2019-5611), która pozwala spowodować awarię jądra (pakiet śmierci) poprzez wysyłanie specjalnie pofragmentowanych pakietów MLD ICMPv6 (Wykrywanie odbiornika multiemisji). Problem spowodowany brak niezbędnej kontroli w wywołaniu m_pulldown(), co może skutkować zwróceniem nieciągłych mbufów, wbrew oczekiwaniom wywołującego.

Słaby punkt wyłączony w aktualizacjach 12.0-RELEASE-p10, 11.3-RELEASE-p3 i 11.2-RELEASE-p14. W ramach obejścia zabezpieczeń można wyłączyć obsługę fragmentacji protokołu IPv6 lub opcje nagłówka filtra w zaporze HBH (Hop po skoku). Co ciekawe, błąd powodujący tę lukę został zidentyfikowany już w 2006 roku i naprawiony w OpenBSD, NetBSD i macOS, ale we FreeBSD pozostał nienaprawiony, mimo że programiści FreeBSD zostali powiadomieni o problemie.

Można również zauważyć eliminację dwóch kolejnych luk we FreeBSD:

  • CVE-2019-5603 — przepełnienie licznika referencji dla struktur danych w kolejkach mqueuef przy korzystaniu z bibliotek 32-bitowych w środowisku 64-bitowym (kompatybilność 32-bitowa). Problem pojawia się przy włączeniu funkcji mqueuefs, która domyślnie nie jest aktywna i może prowadzić do dostępu do plików, katalogów i gniazd otwieranych przez procesy należące do innych użytkowników lub dostępu do plików zewnętrznych ze środowiska więzienia. Jeśli użytkownik ma dostęp do konta root w więzieniu, luka umożliwia uzyskanie dostępu do konta root po stronie środowiska hosta.
  • CVE-2019-5612 - problem z wielowątkowym dostępem do urządzenia /dev/midistat w przypadku wystąpienia sytuacji wyścigu może prowadzić do odczytania obszarów pamięci jądra poza granicami bufora przeznaczonego na midistat. W systemach 32-bitowych próba wykorzystania luki prowadzi do awarii jądra, a w systemach 64-bitowych umożliwia odkrycie zawartości dowolnych obszarów pamięci jądra.

Źródło: opennet.ru

Dodaj komentarz