Nowe podatności FreeBSD


2

30 czerwca 2026 roku opublikowano powiadomienia o poprawkach 13 nowych luk w systemie operacyjnym FreeBSD.

  • CVE-2026-49418. Użytkownik z dostępem do urządzenia z interfejsem memory-mapped może spowodować double-free/use-after-free w jądrze. Może to prowadzić do podwyższenia uprawnień.
  • CVE-2026-49419. (tylko FreeBSD 15+) Podwójne zmniejszenie refcount bieżącego jaila podczas przetwarzania błędu dostępu do innego jaila przez jail descriptor (pojawiają się w FreeBSD 15), co prowadzi do nieplanowanego zwolnienia struktury kontrolnej jaila i następnego use-after-free wszędzie tam, gdzie jest używana. Teoretycznie może prowadzić do podwyższenia uprawnień.
  • CVE-2026-49415. Przy wykonywaniu programów setuid prawa dostępu do ich pamięci są ustalane nieco później, niż pamięć jest inicjalizowana, co pozwala w krótkim czasie uzyskać do niej dostęp i edytować ją, nie mając odpowiednich uprawnień, przez procfs lub linprocfs. W większości systemów procfs, a tym bardziej libprocfs, nie jest montowane, więc problem ten najprawdopodobniej dotyczy niewielu osób.
  • CVE-2026-49429, CVE-2026-49430, CVE-2026-49431. (tylko dla systemów z ZFS) Dwie pierwsze błędy dotyczą alokacji pamięci nieprawidłowego rozmiaru: alokowany jest bufor o rozmiarze przekazanym jako liczba 32-bitowa, a następnie zapisywane są dane o rzeczywistym rozmiarze, co prowadzi do przepełnienia, jeśli rzeczywisty rozmiar bufora był większy niż 4GB. Obie mogą być wywoływane tylko przez roota lub użytkownika z wyraźnie przyznanymi uprawnieniami do podatnych operacji. Trzecia usterka może być eksploatowana przez każdego, pozwala ona komukolwiek dodać flagę "$hasrecvd" do zbioru danych za pomocą ZFS_IOC_SET_PROP (jak bardzo jest to niebezpieczne, nie jest jasne z ogłoszenia).
  • CVE-2026-49420Brak odpowiedniej weryfikacji rozmiaru pakietu przed zapisaniem go do bufora o stałym rozmiarze na stosie w module libalias obsługującym RTSP umożliwia zdalne i bez autoryzacji przepełnienie stosu lub jądra (dla ipfw nat) lub procesu natd (który zazwyczaj działa jako root). Może to prowadzić do RCE. Wykorzystać tę lukę może złośliwy host w lokalnej sieci za NAT, zrealizowanym przez libalias, przesyłającym złośliwe pakiety RTSP. Zgodnie z tym luka nie dotyczy hostów, na których nie działa NAT w jakiejkolwiek formie. Również: natd przestanie być podatny, jeśli usuniemy linię libalias_smedia.so z /etc/libalias.conf i zrestartujemy natd, a ipfw nat nie będzie podatny bez załadowania modułu alias_smedia.ko (nie jest podane, czy może on załadować go automatycznie). Ponadto, podatny handler sprawdza tylko pakiety TCP/UDP wychodzące, które mają jeden z portów 554 lub 7070 – jeśli zablokujemy takie pakiety przed ich dostaniem się do NAT, luka również zniknie.
  • CVE-2026-49421Funkcje unlinkat() i funlinkat() nie uwzględniały flagi AT_RESOLVE_BENEATH, która miała zakazywać wyjścia poza granice katalogu wskazanego przez argument dirfd podczas przechodzenia przez tę ścieżkę. Tym samym pozwalały na usuwanie plików poza katalogiem, gdy wywołujący kod chciał wprowadzić to ograniczenie.
  • CVE-2026-49422Wystąpienie wyścigu w module tcp_rack.ko (domyślnie nie jest załadowany). Każdemu gniazdu TCP można indywidualnie przypisać stos TCP, przez który będzie działać, w tym przełączać je w locie. Jeśli zrobimy tak: 1) na gniazdku z tcp_rack wywołujemy specyficzny dla rack setsockopt(), 2) w innym wątku szybko przełączamy stos TCP z rack na inny i ponownie na rack w odpowiednim momencie, to handler rack setsockopt() będzie działał ze starym (przed przełączeniem) adresem struktury stanu gniazda, co prowadzi do uszkodzenia pamięci i możliwego zwiększenia uprawnień. Dotyczy to tylko systemów, w których tcp_rack.ko jest wyraźnie załadowany, nie jest to domyślne.
  • CVE-2026-49427, CVE-2026-49428Duże strony POSIX (shm_create_largepage) podczas alokacji nie były wystarczająco dokładnie oznaczane jako używane, co mogło prowadzić do ich błędnego zwolnienia w różnych okolicznościach (wspomniane wywołania sendfile z flagą SF_NOCACHE, open z flagą O_TRUNC i fspacectl) i subsequent use-after-free z typowymi konsekwencjami.
  • CVE-2026-49426. Nieprawidłowe logi audit(4) dotyczące zdalnych wywołań systemowych przez ptrace(PT_SC_REMOTE). Mogą wprowadzać w błąd systemy analizy podejrzanych sytuacji, jeśli takie są używane.
  • CVE-2026-49423. Możliwy kernel-panic podczas odbierania danych przez kTLS z użyciem TLS 1.2 CBC. Aby uniknąć problemu, można ustawić kern.ipc.tls.enable=0 lub kern.ipc.tls.cbc_enable=0.
  • CVE-2026-49424. Wycieki danych (104 bajty) ze stosu jądra podczas wywołania linux-compat waitid(), które zapomina o wyzerowaniu nieużywanej części struktury linux siginfo_t przy przenoszeniu danych z freebsd-owej. W standardowych jądrach GENERIC emulator linuxa jest domyślnie wyłączony i włączany tylko ręcznym załadowaniem modułu.
  • CVE-2026-49425. Podobnie jak wcześniej, 32-bitowy kevent zapomina o wyzerowaniu 32-bitowej struktury przed przeniesieniem do niej danych z natywnej 64-bitowej, co prowadzi do wycieku danych ze stosu. Domyślnie 32-bitowa kompatybilność w jądrze jest włączona (nie modułem).
  • CVE-2026-58081, CVE-2026-58082. Wady w iconv. Pierwsza: wiele jego modułów nie sprawdza rozmiaru dostarczonego przez wywołujący kod bufora wyjściowego przed zapisaniem do niego wyniku (wspomniane HZ, UTF-7, VIQR, ZW). Druga: moduł ISO-2022 używa 6-bajtowego bufora na stosie do operacji wewnętrznych, ale może być do niego zapisanych do 10 bajtów, rujnując stos. W efekcie, uruchomienie iconv w celu konwersji do lub z jednego z wymienionych kodowań z niezweryfikowanymi danymi wejściowymi może być podatne na przepełnienia buforów.

Źródło: linux.org.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster