Podatności Linux kernel
7561 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-97573Wysokie
W jądrze Linux funkcja bnxt_rx_ring_reset() ignorowała wynik ponownej alokacji buforów pierścienia RX. Gdy bnxt_alloc_one_rx_ring() zawodziło z -ENOMEM, część wpisów rxr->rx_tpa[] pozostawała wyzerowana, a TPA było ponownie włączane. Poprawka wymusza globalny reset w przypadku błędu alokacji.
- CVE-2026-97572Nieznane
W jądrze Linux funkcja bnxt_init_nic() odrzucała wartość zwracaną przez bnxt_init_rx_rings() i wywoływała bnxt_init_chip(), włączając TPA mimo niepowodzenia alokacji. Mogło to pozostawić częściowo wyzerowaną tablicę rxr->rx_tpa[]. Poprawka propaguje błąd z bnxt_init_nic().
- CVE-2026-97571Nieznane
W jądrze Linux funkcja bnxt_queue_mem_alloc() ignorowała wynik bnxt_alloc_one_tpa_info_data(), który zwracał -ENOMEM przy nieudanej alokacji, pozostawiając część wpisów rxr->rx_tpa[] wyzerowaną. Częściowo zainicjalizowany pierścień był instalowany przez bnxt_queue_start(). Poprawka sprawdza wynik i cofa operację.
- CVE-2026-97568Nieznane
W jądrze Linux mechanizm MPTCP syncookies używał niezainicjalizowanego bitu podczas kopiowania informacji w subflow_ulp_clone(). Poprawka zapamiętuje flagę backup, używając jednego bitu dla obu struktur bez rozszerzania join_entry.
- CVE-2026-97567Nieznane
W jądrze Linux wykryto wyścig między operacją disconnect() a retransmisją (rtx) w stosie MPTCP, prowadzący do niespójnego stanu. Poprawka zapobiega wyścigowi poprzez synchroniczne zatrzymanie timera.
- CVE-2026-97566Nieznane
W jądrze Linux menedżer ścieżek MPTCP pozostawiał nieaktualny wpis ADD_ADDR przy usuwaniu endpointu id 0, ponieważ ścieżka ta nie czyściła oczekujących ogłoszeń. Późniejsze ponowne wybranie id 0 powodowało trafienie na nieaktualny wpis anno_list i wywołanie WARN_ON_ONCE w mptcp_pm_announced_alloc(). Poprawka ujednolica ścieżkę usuwania id 0.
- CVE-2026-97565Nieznane
W kliencie SMB w jądrze Linux funkcja CIFSSMBRead() odczytuje pola nagłówka READ_RSP bez uprzedniego sprawdzenia, czy odebrano pełny nagłówek. Złośliwy lub przejęty serwer SMB1 może zwrócić odpowiedź krótszą niż rozmiar nagłówka, co powoduje odczyt poza buforem odbiorczym. Podatność dotyczy tylko montowań z jawnie ustawioną opcją vers=1.0, ponieważ SMB1 nie jest negocjowany domyślnie.
- CVE-2026-97564Nieznane
W kliencie SMB w jądrze Linux typ klucza cifs.idmap nie posiada funkcji weryfikującej opis (vet_description), w przeciwieństwie do cifs.spnego. Umożliwia to użytkownikowi przestrzeni użytkownika utworzenie klucza przez request_key(2)/add_key(2) i dostarczenie pól właściciela/grupy (SID, uid/gid) bez pochodzenia z CIFS. Wywołanie request_key(2) z niepustym callout prowadzi do uruchomienia usermodehelper jako root, który przetwarza niezweryfikowany opis w kontekście uprzywilejowanym.
- CVE-2026-97563Nieznane
W jądrze Linux w funkcji CIFSSMBRead() (klient SMB1) nie walidowano pola DataOffset w odpowiedzi serwera. Złośliwy lub przejęty serwer SMB1 może zwrócić duże DataOffset przy poprawnej długości DataLength, powodując odczyt poza buforem odpowiedzi — wyciek danych z pamięci jądra lub awarię (DoS). Podatność dotyczy tylko montowań z jawnym parametrem vers=1.0, ponieważ SMB1 nie jest negocjowany domyślnie.
- CVE-2026-97562Wysokie
W kliencie SMB w jądrze Linux funkcja tcon_super_cb() przechowuje surowy wskaźnik do superbloku, ale __cifs_get_super() pobiera aktywną referencję dopiero po zwolnieniu s_umount i referencji pasywnej przez iterate_supers_type(). Równoczesne wygaśnięcie automountu DFS może zwolnić superblok, zanim użyje go cifs_sb_active(), co prowadzi do use-after-free. Poprawka polega na pobraniu aktywnej referencji w callbacku, gdy iterate_supers_type() wciąż trzyma s_umount w trybie współdzielonym.
- CVE-2026-97561Nieznane
W kliencie SMB w jądrze Linux kilka ścieżek kodu bezwarunkowo wywoływało sid_to_id(), nadpisując cf_uid/cf_gid wartościami z serwera, mimo zamontowania z opcjami forceuid/forcegid. Dotyczyło to smb311_posix_info_to_fattr(), cifs_posix_to_fattr() oraz parse_sec_desc(). Umożliwiało to niezaufanemu serwerowi narzucenie lokalnej własności plików wbrew konfiguracji administratora.
- CVE-2026-97560Nieznane
W kliencie SMB w jądrze Linux funkcja smb2_parse_native_symlink() podczas przetwarzania dowiązania symbolicznego względem katalogu głównego udziału kopiuje smb_target+1 (pomijając wiodący separator), ale używa strlen(smb_target)+1 jako długości, odczytując jeden bajt poza zaalokowanym buforem. Prowadzi to do odczytu poza granicami bufora (OOB read), co potwierdza raport KASAN. Problem występuje przy dostępie do dowiązania SMB z celem takim jak '\a\b'.
- CVE-2026-97559Nieznane
W kliencie SMB jądra Linux wykryto problem z przepisaniem DACL: akumulator rozmiaru DACL używający typu u16 może się przepełnić, co prowadzi do uszkodzenia DACL wysyłanego na serwer. Poprawka zmienia typ na u32 i zwraca błąd -EOVERFLOW w przypadku przepełnienia.
- CVE-2026-97558Nieznane
W kliencie SMB jądra Linux występuje wyciek referencji cifsFileInfo w mechanizmie odroczonego zamykania z powodu wyścigu między flagami. Poprawka sprawdza wynik queue_delayed_work() i przekazuje referencję tylko gdy praca została faktycznie zakolejkowana.
- CVE-2026-97557Wysokie
W kliencie SMB jądra Linux występuje wyciek referencji w funkcji cifs_queue_oplock_break() — referencja jest pobierana bezwarunkowo, ale jeśli praca jest już w kolejce, nie jest zwalniana. Poprawka pobiera referencję tylko po pomyślnym zakolejkowaniu pracy.
- CVE-2026-97556Nieznane
W kliencie SMB jądra Linux występuje wyciek referencji w cifs_oplock_break() w przypadku błędu cifs_sb_tlink() przy opcji multiuser. Poprawka zwalnia referencję również w tej ścieżce.
- CVE-2026-97555Wysokie
W kliencie SMB jądra Linux występuje przepełnienie sterty przy przepisywaniu właściciela/grupy DACL: bufor jest alokowany na podstawie rozmiaru oryginalnego DACL, ale zamiana SID może zwiększyć rozmiar każdego ACE, co prowadzi do zapisu poza buforem. Poprawka alokuje zawsze rozmiar uwzględniający maksymalną ekspansję SID.
- CVE-2026-97554Nieznane
W kliencie SMB jądra Linux funkcja cifs_posix_to_fattr() ignoruje wynik posix_info_parse(), co przy nieprawidłowych danych może prowadzić do użycia niezainicjalizowanych SID i potencjalnego wycieku danych z pamięci jądra do procesu mapowania ID. Poprawka sprawdza wynik i pomija mapowanie przy błędzie.
- CVE-2026-97553Nieznane
W systemie plików XFS brakuje blokady podczas wstawiania zdarzenia odmontowania do monitora zdrowia (healthmon). Poprawka dodaje odpowiednie blokowanie.
- CVE-2026-97552Nieznane
W systemie plików XFS funkcja xfs_defer_finish_one() może zwrócić niezainicjalizowaną wartość błędu, jeśli lista jest pusta, co może doprowadzić do fałszywego zamknięcia systemu plików. Poprawka inicjalizuje zmienną error na 0.
- CVE-2026-97551Nieznane
W systemie plików XFS nieprawidłowa wartość args->total podczas aktualizacji wskaźników rodzica może prowadzić do nieprawidłowej kontroli wolnego miejsca i błędów ENOSPC, które eskalują do zamknięcia systemu plików. Poprawka ustawia args->total w ścieżkach dodawania i zastępowania, podobnie jak w log recovery.
- CVE-2026-97550Nieznane
W systemie plików XFS odwrócona konwersja jednostek w obliczeniach per_binval prowadzi do błędnego wyliczenia przestrzeni. Poprawka zmienia kierunek konwersji z FSB na bajty.
- CVE-2026-97548Wysokie
W jądrze Linux funkcje _maxlevels_ondisk dla rtrmap i rtrefcount w systemie plików XFS nie uwzględniają korzenia inode przy obliczaniu rozmiaru kursora btree w pamięci. Przy odpowiednio dużym btree może to prowadzić do dostępu poza koniec kursora.
- CVE-2026-97547Nieznane
W jądrze Linux w XFS funkcja xmi_can_exchange_reflink_flags() może przenieść flagę reflink między plikami podczas wymiany zakresów, ale przy ustawionej fladze XFS_EXCHMAPS_INO1_WRITTEN niektóre mapowania mogą być pominięte. Może to spowodować wyczyszczenie flagi reflink z inode, który nadal posiada współdzielone zapisane extenty, prowadząc do korupcji danych.
- CVE-2026-97546Nieznane
W jądrze Linux w XFS funkcja xrep_dir_recover_data może wpaść w nieskończoną pętlę, jeśli napotka nieużywany wpis katalogowy o długości zero. Poprawka zapobiega również temu samemu problemowi dla wpisów o zerowej długości.
- CVE-2026-97545Nieznane
W jądrze Linux w XFS funkcja xfs_btree_bload_prep_block może nie zwolnić bufora new_bp, jeśli xfs_btree_bload_drop_buf napotka błąd wejścia/wyjścia podczas zapisu listy buforów na dysk. Prowadzi to do wycieku zablokowanego bufora.
- CVE-2026-97544Nieznane
W jądrze Linux w XFS funkcja xqcheck_mod_live_ino_dqtrx nie zwalnia nowo przydzielonego obiektu dqa, jeśli wstawienie do rhashtable się nie powiedzie. Prowadzi to do wycieku pamięci.
- CVE-2026-97543Nieznane
W jądrze Linux w XFS funkcja xchk_dirtree_create_path nie niszczy bitmapy widzianych inode'ów, jeśli utworzenie obiektu ścieżki katalogu powiedzie się, ale dołączenie nazwy do ścieżki się nie powiedzie. Podobny błąd występuje w xrep_dirtree_create_adoption_path.
- CVE-2026-97542Nieznane
W jądrze Linux w XFS funkcja xrep_agfl_fill nie sprawdza wyniku xagb_bitmap_walk, przez co błędy ustawiania bitmapy są po cichu ignorowane, a operacja kontynuowana jest z niespójnymi danymi w pamięci.
- CVE-2026-97541Nieznane
W jądrze Linux sterownik wifi ath9k_htc przechowuje wskaźnik usb_device_id, który nie jest gwarantowany jako trwały dłużej niż funkcja probe z powodu dynamicznego ID. Poprawka polega na przechowywaniu tylko driver_data, ponieważ resztę informacji można uzyskać z usb_device.
- CVE-2026-97540Nieznane
W jądrze Linux sterownik sieciowy USB pegasus używa arytmetyki wskaźników na tablicy id, co jest błędne przy dynamicznym ID, ponieważ usb_device_id w probe znajduje się na stercie, a obliczony indeks może być poza zakresem. Poprawka używa pola driver_info zamiast dodatkowej tablicy.
- CVE-2026-97539Nieznane
W jądrze Linux sterownik USB xusbatm używał arytmetyki wskaźników na tablicy identyfikatorów urządzeń, co przy dynamicznych identyfikatorach prowadziło do odczytu poza zakresem (wskaźnik na stercie). Poprawka rezygnuje z tej arytmetyki i ustawia no_dynamic_id, ponieważ sterownik i tak nie obsługuje dynamicznych identyfikatorów.
- CVE-2026-97538Nieznane
W jądrze Linux sterownik hwmon asus_rog_ryujin nie sprawdzał długości raportów HID przed parsowaniem nagłówka i pól odpowiedzi. Krótki raport mógł powodować odczyt niezainicjalizowanych bajtów z bufora HID i ujawnienie ich jako wartości czujników przez sysfs.
- CVE-2026-97537Nieznane
W jądrze Linux sterownik scsi qla2xxx miał dwa błędy na ścieżce błędów tworzenia kolejek: wywołanie dma_free_coherent() ze wskaźnikiem NULL oraz brak spójnego blokowania bitmap (vport_lock vs mq_lock), co mogło prowadzić do wyścigu i nadpisania wpisu kolejki. Poprawka dodaje sprawdzenie NULL i używa mq_lock w funkcjach zwalniających.
- CVE-2026-97536Wysokie
W jądrze Linux sterownik scsi qla2xxx mógł użyć zwolnionej pamięci (use-after-free) podczas niszczenia kolejek: free_irq() nie anulował pracy już zakolejkowanej w ha->wq, więc qla_do_work() mógł odwołać się do zwolnionego qpair i kolejki odpowiedzi. Poprawka dodaje cancel_work_sync() po free_irq() i przed zwolnieniem pamięci.
- CVE-2026-97535Nieznane
W jądrze Linux sterownik scsi qla2xxx nie ograniczał indeksu wirtualnego portu (vp_index) do rozmiaru bitmapy vp_idx_map (16 bajtów) w IOCB. Wartość vp_index powyżej 128 mogła powodować zapis poza zakresem i uszkodzenie sąsiednich pól IOCB lub slotu kolejki żądań.
- CVE-2026-97534Nieznane
W jądrze Linux system plików f2fs nieprawidłowo aktualizował licznik free_sections podczas free_segment_range(), gdy część sekcji w przycinanym zakresie była już wolna. Prowadziło to do zawyżenia liczby wolnych sekcji i niespójności księgowania, co mogło powodować błędy alokacji lub asercje przy braku miejsca.
- CVE-2026-97533Nieznane
W jądrze Linux wykryto podatność use-after-free w mechanizmie x86/mm/pat. Wyścig występuje między zmianą atrybutów stron a operacją CPA collapse, co może prowadzić do zapisu do zwolnionej pamięci. Problem rozwiązano przez dodanie blokady mmap read lock na init_mm podczas operacji zmiany atrybutów.
- CVE-2026-97532Nieznane
W jądrze Linux sterownik scsi qla2xxx na ścieżce błędów qla2x00_mem_alloc() zwalniał wskaźniki, ale ich nie zerował, co prowadziło do podwójnego zwolnienia w qla2x00_mem_free(). Dodatkowo dla dma_pool wywoływano dma_pool_free() po zniszczeniu i wyzerowaniu s_dma_pool, co powodowało dereferencję NULL.
- CVE-2026-97531Wysokie
W jądrze Linux sterownik scsi qla2xxx podczas pozyskiwania identyfikatora raportu mógł ponownie zarejestrować wirtualny port będący w trakcie usuwania (VPORT_DELETE), mimo że jego d_id zostało już wyzerowane. Prowadziło to do pozostawienia wpisu w host_map i późniejszej dereferencji zwolnionej pamięci po scsi_host_put().
- CVE-2026-97530Nieznane
W jądrze Linux w sterowniku SCSI qla2xxx wykryto podatność powodującą miękkie zawieszenie CPU (soft lockup). Funkcje qla27xx_copy_multiple_pkt() i qla27xx_copy_fpin_pkt() odpytywały pole signature w strukturze odpowiedzi, ale w przypadku kontynuacji IOCB w tym miejscu znajdują się dane ramki FC, które mogą przypadkowo zawierać wartość 0xDEADDEAD, co prowadzi do nieskończonej pętli.
- CVE-2026-97529Nieznane
W jądrze Linux sterownik scsi: qla2xxx nie weryfikuje pola request_len przed odczytem tablicy vendor_cmd[] w żądaniach FC_BSG_HST_VENDOR. Uprawniony użytkownik z CAP_SYS_RAWIO może wysłać zbyt krótkie żądanie, powodując odczyt poza granicami bufora sterty (wykrywalny przez KASAN), błędny wybór komendy lub panikę jądra.
- CVE-2026-97528Wysokie
W jądrze Linux funkcja qla_nvme_xmt_ls_rsp() sterownika scsi: qla2xxx zwalnia strukturę uctx przez kfree() na ścieżce błędu, nie usuwając jej wcześniej z listy fcport->unsol_ctx_head. Pozostawia to zwolniony węzeł na liście, co przy kolejnych operacjach list_add_tail() i list_del() może uszkodzić listę lub wywołać panikę jądra.
- CVE-2026-97527Wysokie
W jądrze Linux lista fcport->unsol_ctx_head w sterowniku scsi: qla2xxx jest modyfikowana z wielu kontekstów bez wspólnej blokady. Równoczesne dodawanie i usuwanie wpisów (lub dwa równoczesne usunięcia) może uszkodzić wskaźniki listy, ponieważ blokada qpair qp_lock nie serializuje tej listy na poziomie fcport.
- CVE-2026-97526Nieznane
W jądrze Linux w obsłudze PMU PAI dla architektury s390 brakowało alokacji struktur danych per-CPU dla procesorów dodawanych dynamicznie przez hotplug. Uruchomienie 'perf stat -e pai_crypto/CRYPTO_ALL/ -- <command>' podczas gdy CPU jest włączany online powodowało wywołanie funkcji pai_add() z pustym wskaźnikiem i panikę jądra. Dodano obsługę hotplug CPU (add/remove) tworzącą wymaganą infrastrukturę per-CPU.
- CVE-2026-97525Wysokie
W jądrze Linux w kodzie x86/mm/pat podczas dzielenia dużych stron (__split_large_page()) tablica stron była alokowana bezpośrednio, z pominięciem standardowego API alokacji tablic stron. W efekcie tablica nie była oznaczana jako tablica stron jądra (ptdesc_set_kernel() nie było wywoływane), co przy zwalnianiu takich tablic nie powodowało unieważnienia wpisów IOTLB. Może to prowadzić do używania nieaktualnych wpisów IOTLB dla tablic stron jądra.
- CVE-2026-97524Wysokie
W jądrze Linux ścieżka odbioru MPTCP może w rzadkich warunkach błędu rekurencyjnie wywołać mptcp_data_ready() poprzez zmianę stanu i ponownie próbować uzyskać blokadę danych. Poprawka przerywa tę rekurencję, wprowadzając nową flagę i wcześniejsze wyjście w subflow_state_change() oraz opróżniając kolejkę RX przy resecie.
- CVE-2026-97523Wysokie
W jądrze Linux scheduler MPTCP może wejść w sytuację wyścigu ze zmianą stanu gniazd podprzepływu. Transmisja danych na wybranym gnieździe może się nie powieść, a późniejsze zwolnienie może użyć mss_now zresetowanego do 0 w operacji dzielenia.
- CVE-2026-97522Nieznane
W jądrze Linux funkcja __mptcp_subflow_push_pending() nieprawidłowo aktualizuje liczniki skopiowanych bajtów, gdy __subflow_push_pending() zwróci błąd. Powoduje to niezgodność liczników i problemy przy późniejszym wywołaniu push.
- CVE-2026-97521Nieznane
W jądrze Linux naprawiono podatność w gfs2: gfs2_quota_init() sprawdza duplikaty identyfikatorów zmian kwot, trzymając qd_lock i bitlock zasobnika hashy kwot. Ta ścieżka używała gfs2_qd_search_bucket(), która pobiera referencję lockref przez lockref_get_not_dead(). Na PREEMPT_RT może to spać, co nie jest dozwolone pod bitlockiem zasobnika, wywołując 'sleeping function called from invalid context'. Poprawka używa wyszukiwania bez referencji w tej ścieżce i kontynuuje obsługę duplikatów bez pobierania lockref. Refaktoryzuje gfs2_qd_search_bucket(), aby opierać się na pomocniku bez referencji, tak aby przechodzenie pozostało w jednym miejscu.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

