CVE-2026-98171
WysokieCVSS 8.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 42 - wyżej niż 42% wszystkich znanych CVE
Streszczenie
W kliencie SMB jądra Linux funkcja receive_encrypted_standard() przy obsłudze złożonych zaszyfrowanych ramek ma kilka błędów: niezerowany next_buffer po przypisaniu do server->bigbuf (ryzyko use-after-free), nieaktualizowany pdu_length do rozmiaru odszyfrowanego tekstu jawnego, brak odrzucania next_cmd mniejszych niż MID_HEADER_SIZE oraz przepełnienie całkowite w sprawdzaniu górnej granicy.
Ocena ryzyka
Błędy te mogą prowadzić do użycia po zwolnieniu pamięci oraz odczytów poza zakresem bufora podczas przetwarzania złożonych zaszyfrowanych PDU SMB. Może to skutkować uszkodzeniem pamięci, wyciekiem danych lub awarią jądra.
Rekomendacja
Zaktualizować jądro Linux do wersji z poprawką, która zeruje next_buffer, aktualizuje pdu_length do rozmiaru tekstu jawnego, odrzuca zbyt małe next_cmd i poprawia sprawdzanie górnej granicy.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-99087Nieznane
W jądrze Linux w dm-integrity występuje błąd, który powoduje dereferencję wskaźnika NULL, gdy urządzenie ma ustawioną flagę SB_FLAG_DIRTY_BITMAP i jest aktywowane w trybie 'R'. Funkcja dm_integrity_resume próbuje odczytać dziennik zawierający bitmapę, co prowadzi do awarii. Poprawka pomija zapisy do urządzenia w trybie 'R' podczas wznawiania.
- CVE-2026-99086Nieznane
W jądrze Linux dm-integrity nie waliduje superbloku podczas wznawiania urządzenia, co pozwala użytkownikowi zmodyfikować superblok na nośniku podczas zawieszenia urządzenia. Może to prowadzić do niezgodności rozmiarów struktur w pamięci i zapisu poza dziennik, w tym zapisu 512 bajtów przez wskaźnik NULL. Poprawka zapisuje zwalidowany superblok w konstruktorze i odmawia wznowienia, jeśli geometria na dysku uległa zmianie.
- CVE-2026-99085Nieznane
W jądrze Linux naprawiono błąd w schedulerze sched_ext, który powodował zawieszenie przy wyłączaniu CPU, gdy zadania wygasającego procesora pozostawały w kolejce BPF schedulera. Zadania te były nadal liczone w runqueue, ale nieaktywny CPU nie wywoływał ops.dispatch() i nie mógł ich przejąć, co blokowało wątek hotplug i cpu_down() trzymający cpu_hotplug_lock. Poprawka ponownie kolejkuje zadania z offline'owanego rq na lokalny DSQ, aby balance_push() mógł je przenieść.
- CVE-2026-99084Nieznane
W jądrze Linux naprawiono problem w iterate_dir(), gdzie blokada i_rwsem katalogu była trzymana podczas odczytu katalogu, nawet jeśli katalog jest niezmienny i nigdy nie jest usuwany. Dla katalogu instancji nullfs (współdzielonego przez wiele przestrzeni nazw montowania i wątków jądra) złośliwy czytelnik mógł zablokować tę blokadę na dowolnie długo, blokując operacje mkdir, wyszukiwania i montowania dla innych użytkowników. Dodano flagę FOP_IMMUTABLE, która pozwala pominąć blokadę dla takich katalogów.
- CVE-2026-99083Nieznane
W jądrze Linux serwer ksmbd ma błąd zapisu poza granice sterty w funkcji krb5_authenticate(). Gdy SMB2_SESSION_SETUP jest przetwarzane jako niepierwszy element złożonego żądania SMB2, obliczenie out_len pomija work->next_smb2_rsp_hdr_off, co zawyża dostępne miejsce w buforze i pozwala memcpy() zapisać blob AP-REP poza response_buf. Poprawka odejmuje tę wartość przy obliczaniu out_len.
- CVE-2026-99082Nieznane
W jądrze Linux naprawiono błąd w KVM na architekturze x86 dotyczący pamięci podręcznej MMIO dla poszczególnych vCPU. Cache był oznaczany generacją memslotów, ale zarówno przy wypełnianiu, jak i walidacji używano kvm_memslots() wybierającego bezwarunkowo przestrzeń adresową 0, nawet gdy vCPU działał w trybie SMM i korzystał z przestrzeni adresowej 1. W rezultacie aktualizacja memslotów SMM mogła pozostawić pozornie ważny wpis z dawnej przestrzeni SMM po powrocie vCPU do normalnej przestrzeni adresowej, co pozwalało gościowi wymusić wyjście KVM_EXIT_MMIO dla prawidłowego RAM.
- CVE-2026-99080Nieznane
W jądrze Linux w funkcji clear_inode() występuje wyciek węzłów xarray, który można wywołać m.in. przez madvise. Zamiast naprawiać wycieki w miejscach ich powstawania, poprawka wywołuje xa_destroy(), co dodatkowo cyklicznie zwalnia i pobiera blokadę i_pages.
- CVE-2026-99079Nieznane
W jądrze Linux sterownik net/mlx5e może zwolnić nieaktualny bufor XSK podczas ponownej próby uzupełnienia w legacy cyclic RQ. Gdy uzupełnienie powiedzie się tylko częściowo, WQE bez zamiennika zachowuje stary wskaźnik do bufora, który może zostać przydzielony innemu WQE, co prowadzi do zwolnienia aktywnego bufora i podwójnego opublikowania tej samej ramki UMEM. Poprawka oznacza WQE jako zwolniony natychmiast po zwolnieniu po stronie sterownika.
- CVE-2026-99078Nieznane
W jądrze Linux sterownik net/mlx5e może zwolnić nieaktualny bufor XSK podczas ponownej próby uzupełnienia MPWQE w striding RQ. Gdy alokacja XSK zwróci -ENOMEM, actual_wq_head nie jest przesuwany, a późniejsza próba NAPI może ponownie wywołać xsk_buff_free() przez nieaktualne wskaźniki po zwróceniu ramek do puli XSK. Poprawka ustawia wszystkie bity skip_release_bitmap w ścieżce błędu mlx5e_xsk_alloc_rx_mpwqe().
- CVE-2026-99077Nieznane
W jądrze Linux naprawiono podatność w obsłudze protokołu IPv4/UDP, która pozwalała atakującemu spoza ścieżki na przeprowadzenie ataku side-channel na cache wyjątków FIB (FNHE). Poprzednio wyjątek był tworzony tylko wtedy, gdy pakiet UDP można było dopasować do istniejącego gniazda, co umożliwiało odkrycie efemerycznego portu używanego przez połączone gniazdo UDP. Poprawka polega na zawsze tworzeniu FNHE przed próbą dopasowania gniazda.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: smb: client: fix next_buffer UAF and NextCommand bounds in compound PDUs Fix several related bounds checking and pointer lifecycle issues in receive_encrypted_standard()'s handling of compound encrypted frames: - Clear next_buffer after assigning it to server->bigbuf. A stale next_buffer pointer can lead to a use-after-free on subsequent error paths. - Update pdu_length to the decrypted plaintext size (buf_size). Using the pre-decryption length allows NextCommand to point into stale ciphertext residue. - Reject next_cmd values smaller than MID_HEADER_SIZE(server). - Fix an integer overflow in the upper bound check by verifying pdu_length - next_cmd < MID_HEADER_SIZE(server), ensuring the trailing slice is large enough for a header.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

