Podatności Linux kernel
10 419 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-98454Wysokie
W kliencie SMB w jądrze Linux funkcja smb2_parse_contexts() waliduje cały obszar kontekstów tworzenia, ale nie ogranicza każdego rekordu do wartości pola Next przed przekazaniem go do handlera. Złośliwie spreparowany łańcuch kontekstów może ujawnić bajty spoza bieżącego kontekstu, a parsery lease odczytują pola pod stałymi offsetami zamiast pod DataOffset.
- CVE-2026-98453Niskie ryzyko· EPSS 6%
W kliencie SMB w jądrze Linux funkcja SMB2_open() uznaje udaną odpowiedź CREATE za zdalne otwarcie przed sparsowaniem kontekstów tworzenia. Jeśli smb2_parse_contexts() odrzuci nieprawidłowe dane kontekstu, funkcja zwraca błąd bez zamknięcia uchwytu, pozostawiając uchwyt po stronie serwera otwarty i zawyżony licznik num_remote_opens.
- CVE-2026-98452Niskie ryzyko· EPSS 7%
W kliencie SMB w jądrze Linux funkcja open_cached_dir() wysyła CREATE i QUERY_INFO jako żądanie złożone. Jeśli CREATE się powiedzie, ale późniejsze polecenie zwróci błąd, funkcja musi zachować FID z CREATE, aby wspólne sprzątanie mogło wywołać SMB2_close(), oraz nie może traktować błędu odpowiedzi jako prawidłowego CREATE.
- CVE-2026-98451Wysokie
W kliencie SMB w jądrze Linux otwarcie z flagą O_CREAT może natrafić na istniejący dowiązanie symboliczne lub inny inode niebędący plikiem regularnym. cifs_atomic_open() wywołuje na nim finish_open() i dołącza cifsFileInfo, ale inode dowiązania nie ma operacji zwolnienia CIFS, więc referencja dentry trzymana przez cifsFileInfo wycieka, a FMODE_OPENED uniemożliwia VFS podążenie za dowiązaniem.
- CVE-2026-98450Niskie ryzyko· EPSS 6%
W kliencie SMB w jądrze Linux funkcja compound_send_recv() oczekuje na odpowiedzi w kolejności. Jeśli późniejsze oczekiwanie zostanie przerwane lub synchronizacja MID nie powiedzie się, wcześniejszy CREATE mógł już otworzyć zdalny uchwyt, a wcześniejszy mid jest zwalniany bez wywołania handle_cancelled_mid(), pozostawiając uchwyt otwarty, ponieważ FID nie został skopiowany do wywołującego.
- CVE-2026-98449Niskie ryzyko· EPSS 5%
W kliencie SMB w jądrze Linux, gdy wysłanie żądania złożonego się nie powiedzie, smb_send_rqst() inicjuje ponowne połączenie, ale compound_send_recv() nadal ma te midy w pending_mid_q i odblokowuje serwer bez ich usunięcia. Podczas ponownego połączenia cifs_abort_connection() uruchamia callbacki midów, które zwracają kredyty i zmniejszają in_flight, a następnie ścieżka błędu wysyłania zwraca te same kredyty ponownie, powodując podwójne zmniejszenie in_flight i ostrzeżenie w smb2_add_credits().
- CVE-2026-98448Niskie ryzyko· EPSS 7%
W systemie plików XFS w jądrze Linux występuje wyciek referencji do inode'a katalogu orphanage pobranej przez igrab, jeśli operacja zmiany właściciela (chown) na tym inode zakończy się niepowodzeniem.
- CVE-2026-98447Niskie ryzyko· EPSS 5%
W systemie plików XFS w jądrze Linux metody formatowania korzeni drzewa btree rtrefcount na dysku kopiują zbyt wiele bajtów — w blokach węzłów jest tylko jeden zestaw kluczy, a nie dwa. Powoduje to uszkodzenie pamięci poza buforami.
- CVE-2026-98446Niskie ryzyko· EPSS 6%
W systemie plików XFS w jądrze Linux, jeśli ilość bloków fdblocks możliwych do zarezerwowania dla pliku btree metadanych spadnie poniżej przestrzeni już używanej przez ten plik, odejmowanie hidden_space może spowodować niedomiar, przez co xfs_dec_fdblocks odejmie ogromną ilość przestrzeni.
- CVE-2026-98445Niskie ryzyko· EPSS 6%
W jądrze Linux w funkcji xrep_newbt_add_blocks (podsystem XFS) awaria alokacji pamięci powoduje wyciek bloków przydzielonych wcześniej na nowe drzewo btree oraz może doprowadzić do awarii mechanizmu naprawy online. Problem rozwiązano stosując alokację typu NOFAIL dla niewielkiego obiektu rezerwacji przestrzeni (ok. 48 bajtów).
- CVE-2026-98444Niskie ryzyko· EPSS 4%
W jądrze Linux funkcja xfs_qm_flush_one (podsystem XFS) nie zwalnia blokady dquot flush lock, gdy nie może pobrać bufora powiązanego z dquotem. Ponieważ nikt inny nie zwolni tej blokady, prowadzi to do jej trwałego pozostawienia.
- CVE-2026-98443Wysokie
W jądrze Linux funkcja xlog_recover_iunlink_bucket (podsystem XFS) zawiera kilka błędów: nie zeruje wskaźnika prev_ip po zwolnieniu (ryzyko use-after-free), wycieka @ip przy niepowodzeniu flushu inodegc, oraz błędnie ustawia prev_agino i i_prev_unlinked, co wprowadza pętle do listy niepołączonych inode'ów.
- CVE-2026-98442Wysokie
W jądrze Linux w net/sched act_ct surowy wskaźnik do obszaru rozszerzeń jest zapisywany w liście oczekiwań, zanim połączenie zostanie potwierdzone. Późniejsze dodanie rozszerzeń przez *_ext_add() realokuje ten obszar, pozostawiając nieprawidłowy wskaźnik, który jest używany przy usuwaniu oczekiwania — prowadzi to do use-after-free.
- CVE-2026-98441Wysokie
W jądrze Linux w module net/sched act_ct wykryto podatność use-after-free. Gdy pakiet (skb) z niepotwierdzonym wpisem conntrack zostanie sklonowany, oba klony mogą przetwarzać ten sam współdzielony wpis, modyfikując wskaźniki w liście oczekiwań i powodując UAF przy późniejszym niszczeniu wpisu. Problem dotyczy głównie przypadków NAT bez zatwierdzenia (commit).
- CVE-2026-98440Wysokie
W jądrze Linux w KVM dla arm64 (nv) struktury shadow S2 są zwalniane w kvm_arch_flush_shadow_all(), co może prowadzić do zwolnienia kontenera wciąż używanego przez inną część systemu. Poprawka opóźnia zwalnianie tych struktur do momentu zniszczenia maszyny wirtualnej.
- CVE-2026-98439Niskie ryzyko· EPSS 4%
W jądrze Linux w serwerze SMB żądanie asynchroniczne może wciąż oczekiwać w momencie zamykania połączenia, co uniemożliwia jego zamknięcie. Poprawka anuluje aktywne żądania asynchroniczne przed oczekiwaniem na ich zakończenie.
- CVE-2026-98438Niskie ryzyko· EPSS 3%
W jądrze Linux w MPTCP funkcja mptcp_write_data_fin przy wysyłaniu DATA_FIN bez danych wymaga dodania mapowania DSS i obliczenia sumy kontrolnej, ale pole csum nie jest już zerowane domyślnie od commita cfcceb7a39fc. Prowadzi to do użycia niezainicjalizowanej wartości.
- CVE-2026-98437Niskie ryzyko· EPSS 4%
W jądrze Linux w sterowniku media qcom iris funkcja iris_enable_power_domains() nie używa pm_runtime_resume_and_get(), co powoduje wyciek licznika użycia runtime PM przy niepowodzeniu. Dodatkowo iris_disable_power_domains() nie zawsze wywołuje pm_runtime_put_sync(), gdy iris_opp_set_rate() zawiedzie.
- CVE-2026-98436Wysokie
W jądrze Linux sterownik accel/amdxdna nie wyłączał eksportowania buforów urządzenia, które nigdy nie powinny być eksportowane. Poprawka jawnie wyłącza obsługę eksportu tych buforów.
- CVE-2026-98435Niskie ryzyko· EPSS 4%
W jądrze Linux w funkcji altr_portb_setup() sterownika EDAC/altera grupa devres oraz zarządzane przez devm żądania przerwań były przypisane do osadzonej struktury device zamiast do rzeczywistego urządzenia nadrzędnego. Powodowało to, że grupa devres i przydzielone w niej zasoby nie były zwalniane razem z urządzeniem nadrzędnym.
- CVE-2026-98434Niskie ryzyko· EPSS 3%
W jądrze Linux w funkcji proc_dointvec_ms_jiffies_minmax brakowało sprawdzania zakresu wartości, które zostało omyłkowo usunięte przez wcześniejszy commit zastępujący makro SYSCTL_INT_CONV_CUSTOM funkcjami. Brak walidacji zakresu może pozwolić na ustawienie wartości spoza dozwolonego przedziału.
- CVE-2026-98433Niskie ryzyko· EPSS 5%
W jądrze Linux w module KVM dla architektury PowerPC (Book3S HV) funkcja kvmppc_svm_page_in() nie zwalniała strony bezpiecznego urządzenia, gdy uv_page_in() zakończyło się błędem po wcześniejszym sukcesie kvmppc_uvmem_get_page(). Każde takie zdarzenie trwale zużywało wpis w puli bezpiecznej pamięci i pozostawiało GFN oznaczony jako bezpieczny, czyniąc go bezużytecznym na cały czas życia maszyny wirtualnej.
- CVE-2026-58098Wysokie
Gdy semop(2) blokuje się w oczekiwaniu na warunek semafora, zwalnia blokadę zestawu i zasypia. Po wybudzeniu sprawdza numer sekwencji osadzony w identyfikatorze IPC zestawu semaforów, aby wykryć czy zestaw został usunięty podczas snu. Numer sekwencji ma tylko 15 bitów; jeśli wystarczająco wiele zestawów zostanie utworzonych i zniszczonych w tym samym slocie tablicy, licznik się przekręci i semop(2) może błędnie uznać, że oryginalny zestaw nadal istnieje, co prowadzi do dostępu poza granicami.
- CVE-2026-98431Niskie ryzyko· EPSS 9%
W jądrze Linux występuje zakleszczenie (deadlock) typu ABBA pomiędzy blokadami mmap_lock i disassociation_lock w podsystemie RDMA/uverbs. Wątek wykonujący mmap/fork zakłada blokady w kolejności mmap_lock → disassociation_lock, natomiast wątek wykonujący uverbs_user_mmap_disassociate() w kolejności odwrotnej, co prowadzi do możliwego zakleszczenia. Problem został rozwiązany poprzez usunięcie disassociation_lock i użycie istniejącej blokady hw_destroy_rwsem.
- CVE-2026-98430Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku RDMA/efa procedura obsługi przerwania zarządzającego uzyskuje dostęp zarówno do kolejki ukończeń administracyjnych, jak i do kolejki zdarzeń asynchronicznych. Sterownik rejestrował przerwanie przed utworzeniem tych kolejek i niszczył je przed zwolnieniem przerwania, przez co czas życia procedury obsługi nie był ograniczony przez zasoby, do których się odwołuje. Poprawka inicjalizuje kolejki z zamaskowanymi przerwaniami, rejestruje przerwanie, a następnie przełącza w tryb przerwań, a przy usuwaniu resetuje urządzenie i zwalnia przerwanie przed zniszczeniem kolejek.
- CVE-2026-98429Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku RDMA/efa procedura obsługi przerwania ukończeń uzyskuje dostęp do stanu EQ i bufora DMA. Jej przerwanie było rejestrowane przed zainicjalizowaniem tego stanu, a demontaż zwalniał bufor przed free_irq() synchronizującym procedurę obsługi. Poprawka inicjalizuje EQ bez uzbrajania go, rejestruje przerwanie, a następnie je uzbraja, a przy demontażu zwalnia przerwanie przed zniszczeniem EQ.
- CVE-2026-98428Niskie ryzyko· EPSS 12%
W jądrze Linux sterownik USB 6fire używa URB osadzonych w różnych strukturach dla PCM, MIDI i komunikacji, co jest wadliwą implementacją; ponieważ URB jest zarządzany przez licznik referencji, może to prowadzić do użycia zwolnionej pamięci (UAF), gdy URB jest zwalniany asynchronicznie. Poprawka konwertuje te osadzone URB na alokowane przez usb_alloc_urb(), zamieniając każde osadzone struct urb na wskaźnik i aktualizując wywołania; zasoby są zwalniane w wspólnych destruktorach wywoływanych zarówno przy błędzie inicjalizacji, jak i przy odłączeniu.
- CVE-2026-98427Niskie ryzyko· EPSS 9%
W jądrze Linux w kodzie algorytmu CoDel (net/sched) pętla odrzucania w codel_dequeue() mogła nie przesuwać się do przodu przy bardzo małych wartościach interwału, co prowadziło do opróżnienia całego backlogu pod blokadą qdisc w jednym wywołaniu. Nieuprzywilejowany użytkownik mógł w ten sposób wywołać soft lockup. Poprawka ogranicza krok pętli do co najmniej 1 ticka oraz maksymalnie 256 odrzuceń na wywołanie codel_dequeue().
- CVE-2026-98426Niskie ryzyko· EPSS 12%
W jądrze Linux w sterowniku wifi mwifiex funkcja mwifiex_pcie_request_irq() rejestruje każdy wektor MSI-X z dev_id dla danego indeksu (&card->msix_ctx[i]). Przy błędzie request_irq() pętla czyszcząca "for (j = 0; j < i; j++)" zwalnia msix_entries[j].vector, ale przekazuje &card->msix_ctx[i] z nieudanego indeksu jako dev_id. Ponieważ free_irq() dopasowuje po (irq, dev_id), nie znajduje akcji zarejestrowanej z &card->msix_ctx[j]: już zarejestrowane przerwanie j nie jest zwalniane (wyciek), a free_irq() ostrzega o zwalnianiu nieistniejącego przerwania. Poprawka używa &card->msix_ctx[j].
- CVE-2026-98425Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja ieee80211_request_ibss_scan() w module mac80211 wywołuje ostrzeżenie, gdy regdomain nie pozostawia żadnego dozwolonego kanału do skanowania. Sytuacja ta może wystąpić, ponieważ regdomain może się zmienić podczas pracy interfejsu IBSS, który może działać jeszcze przez 60-sekundowy okres karencji przed wyłączeniem. Poprawka usuwa to ostrzeżenie.
- CVE-2026-98424Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja cfg80211_switch_netns() w module cfg80211 przenosi interfejsy, a następnie przenosi samo wiphy, ustawiając jego przestrzeń nazw sieci i zmieniając nazwę, co powoduje przeniesienie w sysfs. Zmiana nazwy może się nie powieść (tylko przy błędach alokacji), pozostawiając niespójny stan i wywołując ostrzeżenie. Poprawka cofa przeniesienie i pozwala operacji zakończyć się niepowodzeniem, a jeśli cofnięcie się nie powiedzie, wywołuje WARN.
- CVE-2026-98423Niskie ryzyko· EPSS 11%
W jądrze Linux moduł mac80211_hwsim sprawdza pole ->started dla ramek pochodzących z wmediumd, ale radio może zostać zatrzymane po sprawdzeniu, a przed dostarczeniem ramki, co powoduje wywołanie WARN_ON(!local->started) w mac80211. Poprawka rozszerza zakres blokady mutex i synchronizuje się z nią przy zatrzymywaniu radia, a także usuwa zbędny komunikat błędu.
- CVE-2026-98422Niskie ryzyko· EPSS 12%
W jądrze Linux moduł mac80211 przy interfejsach AP_VLAN pobiera crypto_tx_tailroom_needed_cnt z interfejsu AP przy ifup, ale nigdy nie zmniejsza tego licznika, chyba że AP również zostanie wyłączony. Ponowne włączenie tego samego AP_VLAN ponownie zwiększa licznik, co ostatecznie wywołuje sprawdzenie WARN_ON_ONCE. Poprawka resetuje licznik przy ifdown.
- CVE-2026-98421Niskie ryzyko· EPSS 11%
W jądrze Linux moduł mac80211 wymaga, aby potwierdzenie konfiguracji TDLS (WLAN_TDLS_SETUP_CONFIRM) było kierowane do istniejącej stacji TDLS. W przeciwnym razie podczas budowania ramki wywoływane jest ostrzeżenie WARN_ON_ONCE(!sta || !ap_sta). Poprawka akceptuje WLAN_TDLS_SETUP_CONFIRM tylko wtedy, gdy stacja już istnieje jako stacja TDLS.
- CVE-2026-98419Wysokie
W jądrze Linux funkcja reset_per_cpu_data() w module drop_monitor oblicza rozmiar al, który obejmuje sizeof(struct nlattr) (4-bajtowy nagłówek atrybutu). Następnie wywołuje memset(msg, 0, al), gdzie msg wskazuje na nla_data(nla), czyli sizeof(struct nlattr) bajtów za nla, co powoduje zapis poza przydzielonym buforem o 4 bajty i uszkodzenie skb_shared_info. Poprawka sprawia, że al reprezentuje tylko długość ładunku i używa genlmsg_new(nla_total_size(al), ...).
- CVE-2026-98418Niskie ryzyko· EPSS 11%
W jądrze Linux harmonogram (sched/core) może przenieść kontekst planowania zablokowanego donora na CPU właściciela blokady, nawet gdy donor ma wyłączoną migrację. Funkcja set_task_cpu() ostrzega bezwarunkowo dla zadań z wyłączoną migracją, co prowadzi do fałszywego ostrzeżenia. Poprawka wyklucza zablokowanych donorów proxy z tego ostrzeżenia.
- CVE-2026-98417Niskie ryzyko· EPSS 12%
W jądrze Linux mechanizm ESP-in-TCP może przekazywać pakiety xfrm, których przesunięcie nagłówka transportowego nie mieści się po przycięciu koperty TCP przez parser strumienia. Zwykłe zresetowanie nagłówka transportowego obcina to przesunięcie i wywołuje ścieżkę ostrzeżenia skb. Poprawka używa ostrożnego pomocnika nagłówka transportowego i odrzuca skb przez istniejącą ścieżkę błędu XFRM, gdy przesunięcie nie może być reprezentowane.
- CVE-2026-98416Niskie ryzyko· EPSS 12%
W jądrze Linux sterownik dmaengine ti k3-udma-glue ma błąd w funkcji k3_udma_glue_release_rx_chn(). Jeśli devm_kcalloc() dla rx_chn->flows nie powiedzie się w funkcji żądania kanału, ścieżka błędu wywołuje k3_udma_glue_release_rx_chn(), która dereferencjonuje wskaźnik NULL rx_chn->flows w k3_udma_glue_release_rx_flow(). Poprawka pomija pętlę zwalniania przepływów, gdy rx_chn->flows nie jest przydzielone.
- CVE-2026-98415Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku soc: samsung: exynos-pmu występuje błąd use-after-free węzła drzewa urządzeń odpowiadającego za generator przerwań. Funkcja setup_cpuhp_and_cpuidle() zwalnia referencję do węzła (of_node_put()) zbyt wcześnie, a następnie przekazuje wskaźnik intr_gen_node do of_syscon_register_regmap().
- CVE-2026-98414Niskie ryzyko· EPSS 10%
W jądrze Linux występuje błąd w mechanizmie memcg, gdzie funkcja obj_cgroup_charge_pages() nie pomija głównego cgroup (root memcg), co prowadzi do ostrzeżenia w refill_stock() oraz asymetrycznego rozliczania stron. Problem można wywołać poprzez zswap i operacje na cgroup, powodując wyciek licznika stron w root memcg.
- CVE-2026-98413Niskie ryzyko· EPSS 12%
W jądrze Linux w podsystemie SELinux funkcja avc_has_perm_noaudit() przy pustym zbiorze żądanych uprawnień zwraca wcześniej, nie wypełniając bufora decyzji dostępu (@avd). Wszyscy wywołujący przekazują niezainicjalizowaną zmienną stosową, która następnie trafia do avc_audit(), a w przypadku hooka inode jest zapisywana w pamięci podręcznej decyzji dla zadania.
- CVE-2026-98412Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie power: sequencing funkcja pwrseq_unit_new() może wywołać dereferencję wskaźnika NULL. Gdy alokacja pamięci w pwrseq_unit_setup_deps() zawiedzie, wywoływane jest pwrseq_unit_put(), które zwalnia częściowo zainicjalizowaną strukturę, ale pole unit->list nie zostało zainicjalizowane, a pwrseq_unit_release() bezwarunkowo wywołuje na nim list_del().
- CVE-2026-98411Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie power: sequencing funkcja pwrseq_device_register() może wywołać dereferencję wskaźnika NULL. Gdy dev_set_name() zawiedzie, kod przechodzi do etykiety err_put_pwrseq przed zainicjalizowaniem pwrseq->targets, a pwrseq_release() bezwarunkowo iteruje po targets i dereferencjonuje nieprawidłowy wskaźnik.
- CVE-2026-98410Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku watchdog: da9063 funkcje da9063_wdt_suspend() i da9063_wdt_resume() sprawdzają tylko watchdog_active(). Gdy sterownik ustawia WDOG_HW_RUNNING w da9063_wdt_probe(), ale przestrzeń użytkownika nigdy nie otwiera urządzenia, WDOG_ACTIVE pozostaje wyczyszczone i wdt_disable() nie jest wywoływane podczas suspend, przez co watchdog nadal zlicza i może zresetować system.
- CVE-2026-98409Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku watchdog: rtd119x funkcja clk_get_rate() może zwrócić 0, co prowadzi do dzielenia przez zero. Podatność powoduje panikę jądra.
- CVE-2026-98408Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku watchdog: rzv2h funkcja clk_get_rate() może zwrócić 0, co prowadzi do dzielenia przez zero. Podatność powoduje panikę jądra.
- CVE-2026-98407Niskie ryzyko· EPSS 12%
W jądrze Linux w sterowniku wifi: rsi funkcja rsi_hal_load_key() przy usuwaniu klucza (data == NULL) wykonuje memset z nieprawidłowym przesunięciem. Ponieważ set_key jest wskaźnikiem na strukturę rsi_set_key, indeks jest skalowany przez sizeof(struct rsi_set_key) (160 bajtów), przez co memset zapisuje 144 bajty zer około 2,4 KB poza końcem bufora danych skb, uszkadzając niespokrewnione obiekty sterty.
- CVE-2026-98406Niskie ryzyko· EPSS 12%
W jądrze Linux w funkcji ieee80211_set_bitrate_mask() brakowało sprawdzenia flagi IEEE80211_SDATA_IN_DRIVER przed wywołaniem sterownika. Gdy interfejs był w stanie running, ale nie był jeszcze dodany do sterownika (np. podczas bringup lub teardown), wywołanie przez ioctl SIOCSIWRATE prowadziło do ostrzeżenia WARN w driver-ops.h. Poprawka dodaje sprawdzenie IN_DRIVER i zwraca -ENETDOWN.
- CVE-2026-98405Wysokie
W kliencie SMB jądra Linux funkcja parse_posix_sids() oblicza koniec bufora sidsbuf_end na podstawie wartości out_len dostarczonej przez serwer, bez walidacji względem rzeczywistej długości odebranego iov. Złośliwy serwer może podać zawyżoną wartość out_len, co pozwala na odczyty poza granicami bufora w sąsiedniej pamięci jądra.
- CVE-2026-98404Niskie ryzyko· EPSS 12%
W sterowniku drm/virtio jądra Linux funkcja virtio_gpu_user_framebuffer_create() zwraca NULL zamiast wskaźnika błędu ERR_PTR(). Prowadzi to do dereferencji wskaźnika NULL w funkcji drm_mode_addfb2().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

