Podatności Linux kernel
10 391 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-31635Wysokie
W jądrze systemu Linux zidentyfikowano podatność związaną z błędnym sprawdzaniem długości autoryzatora odpowiedzi w funkcji rxgk_verify_response(). Błąd ten pozwala na akceptację zbyt dużych autoryzatorów, co może prowadzić do awarii systemu.
- CVE-2026-31471Wysokie
W jądrze systemu Linux zidentyfikowano podatność, która dotyczy funkcji iptfs_clone_state(). Problem polega na tym, że x->mode_data jest przechowywane przed alokacją okna reorganizacji, co może prowadzić do wskazywania na zwolnioną pamięć w przypadku niepowodzenia alokacji.
- CVE-2026-31398Wysokie
W jądrze systemu Linux zidentyfikowano podatność dotyczącą nieprawidłowego przywracania pte dla lazyfree folios. Problem ten polegał na tym, że podczas grupowego odmapowywania foliów anonimowych mogło dojść do ustawienia całej grupy jako zapisywalnej, co zostało naprawione poprzez uwzględnienie bitu zapisywalności.
- CVE-2026-23393Wysokie
W jądrze Linux w podsystemie bridge/cfm naprawiono wyścig (race condition) podczas usuwania peer MEP. Funkcja br_cfm_frame_rx() działająca w kontekście softirq mogła ponownie zaplanować ccm_rx_dwork po wywołaniu cancel_delayed_work_sync(), co prowadziło do użycia zwolnionej pamięci (use-after-free). Zamieniono cancel_delayed_work_sync() na disable_delayed_work_sync() w obu ścieżkach usuwania peer MEP.
- CVE-2026-23390Wysokie
W jądrze Linux punkt śledzenia dma_map_sg mógł spowodować przepełnienie bufora perf przy śledzeniu dużych list scatter-gather, ponieważ rozmiar tablic przekraczał PERF_MAX_TRACE_SIZE. Poprawka ogranicza tablice dynamiczne do 128 wpisów i dodaje flagę obcięcia.
- CVE-2026-23387Wysokie
W jądrze Linux w sterowniku pinctrl cirrus cs42l43 funkcja cs42l43_pin_probe() zawiera podwójne zwolnienie zasobu, ponieważ devm_add_action_or_reset() już wywołuje akcję przy błędzie, a jawne zwolnienie powoduje double-put. Może to prowadzić do uszkodzenia pamięci.
- CVE-2026-23386Średnie
W jądrze Linux sterownik gve w trybie DQ-QPL niepoprawnie czyści bufor w funkcji gve_tx_clean_pending_packets, używając ścieżki RDA. To prowadzi do prób odmapowania nieprawidłowych adresów DMA oraz dostępu poza granice tablicy dma_addr_t, co powoduje ostrzeżenia UBSAN.
- CVE-2026-23375Średnie
W jądrze Linux naprawiono błąd w funkcji file_thp_enabled(), która nieprawidłowo zezwalała na THP (Transparent Huge Pages) dla plików na anonimowych inodach, takich jak guest_memfd i secretmem. Przy włączonej opcji CONFIG_READ_ONLY_THP_FOR_FS pliki te były traktowane jak zwykłe pliki tylko do odczytu, co umożliwiało tworzenie dużych folii i prowadziło do ostrzeżeń jądra lub awarii (np. BUG: unable to handle page fault w secretmem). Poprawka wyklucza anonimowe inody z możliwości THP.
- CVE-2026-23369Średnie
W jądrze Linux występuje błąd w module i2c-i801, gdzie cofnięto zmianę zamieniającą acpi_lock na blokadę szyny I2C. W rzadkich przypadkach wiele wątków udev może jednocześnie uzyskać dostęp do i801_acpi_io_handler podczas rozruchu, co prowadzi do wyłuskania wskaźnika NULL i paniki jądra (kernel panic).
- CVE-2026-23363Wysokie
W jądrze Linux w sterowniku wifi mt76 (mt7925) w funkcji mt7925_mac_write_txwi_80211() brakuje sprawdzenia długości ramki przed dostępem do pól zarządzających. Może to prowadzić do dostępu poza granicami bufora (out-of-bounds).
- CVE-2026-23362Średnie
W jądrze Linux w module CAN BCM występuje błąd blokad (locking) przy aktualizacjach bcm_op w czasie działania. Gdy ustawiona jest flaga RX_RTR_FRAME, ścieżka RX używa bcm_can_tx() i bcm_tx_lock, który nie został zainicjalizowany w bcm_rx_setup(), co prowadzi do nieprawidłowego stanu blokady.
- CVE-2026-23360Średnie
W jądrze Linux występuje wyciek kolejki administracyjnej NVMe podczas resetu kontrolera. Gdy nvme_alloc_admin_tag_set() jest wywoływane podczas resetu, poprzednia kolejka administracyjna może nadal istnieć i nie jest zwalniana przed alokacją nowej.
- CVE-2026-23348Średnie
W jądrze Linux występuje wyścig (race condition) podczas tworzenia obiektów nvdimm w podsystemie CXL. Gdy obiekt nvdimm_bus nie jest jeszcze zarejestrowany, funkcja __nd_device_register() może wywołać dereferencję NULL, co prowadzi do awarii jądra (oops). Problem ujawnia się m.in. podczas testów cxl-translate.sh i jest związany z kolejnością probe'owania sterowników cxl_acpi i cxl_pmem.
- CVE-2026-23347Średnie
W jądrze Linux w sterowniku CAN USB f81604 naprawiono błąd polegający na braku zakotwiczenia urb w funkcji wywołania zwrotnego odczytu bulk. Podczas wysyłania urb korzystającego ze wzorca kotwicy należy go zakotwiczyć przed wysłaniem, w przeciwnym razie może zostać wycieknięty, jeśli wywołane zostanie `usb_kill_anchored_urbs()`. Logika ta jest poprawnie zaimplementowana w innych miejscach sterownika, z wyjątkiem funkcji wywołania zwrotnego odczytu bulk, gdzie została teraz dodana.
- CVE-2026-23344Wysokie
W jądrze Linux w sterowniku crypto: ccp występuje błąd use-after-free na ścieżce obsługi błędów w funkcji sev_tsm_init_locked(). Kod wywołuje pr_err() odwołujące się do pól struktury 't' po jej zwolnieniu przez kfree().
- CVE-2026-23334Średnie
W jądrze Linux sterownik CAN USB f81604 nieprawidłowo obsługuje komunikaty przerwań (interrupt urb) o nieprawidłowej długości. Poprawka zapewnia prawidłowe wykrycie takich komunikatów i zapobiega traktowaniu ich danych jako prawidłowych.
- CVE-2026-23325Wysokie
W jądrze Linux w sterowniku wifi: mt76 dla układu mt7996 występuje możliwość dostępu poza granice bufora (oob) w funkcji mt7996_mac_write_txwi_80211(). Brak sprawdzenia długości ramki przed odczytem pól zarządzających.
- CVE-2026-23313Średnie
W jądrze Linux występuje luka w sterowniku i40e polegająca na wycieku licznika preempt w punkcie śledzenia napi poll. Użycie get_cpu() w przypisaniu punktu śledzenia powoduje wyciek, ponieważ nic nie wywołuje put_cpu(), co prowadzi do niezgodności licznika preempt. Problem został naprawiony poprzez zastąpienie get_cpu() funkcją smp_processor_id().
- CVE-2026-23308Średnie
W jądrze Linux w sterowniku pinctrl: equilibrium występuje błąd, który powoduje ostrzeżenie w logu przy każdym ładowaniu GPIO. Funkcja eqbr_irq_mask_ack() wywołuje eqbr_irq_mask(), która dodatkowo wywołuje gpiochip_disable_irq(), co prowadzi do trace'u ostrzeżenia. Problem został rozwiązany poprzez bezpośrednią implementację logiki bez wywoływania eqbr_irq_mask() i eqbr_irq_ack().
- CVE-2026-23307Średnie
W jądrze Linux w funkcji ems_usb_read_bulk_callback() sterownika CAN ems_usb występuje problem z sprawdzaniem długości wiadomości. Podczas analizy danych w USB urb actual_length jest rozmiarem bufora przekazanego do sterownika, a nie transfer_buffer_length ustawianym przez sterownik jako maksymalny rozmiar bufora. Podczas parsowania wiadomości w ems_usb_read_bulk_callback() należy prawidłowo sprawdzać rozmiar zarówno na początku parsowania wiadomości, aby upewnić się, że jest wystarczająco duży dla oczekiwanej struktury, jak i na końcu wiadomości, aby upewnić się, że nie przekroczymy końca bufora dla następnej wiadomości.
- CVE-2026-23306Wysokie
W jądrze Linux w sterowniku scsi: pm8001 występuje podwójne zwolnienie pamięci (double free) w funkcji pm8001_queue_command(). Gdy stan phy jest wyłączony lub urządzenie zniknęło, funkcja zwraca -ENODEV po uprzednim zwolnieniu zadania SAS, co powoduje, że warstwa libsas ponownie zwalnia to samo zadanie.
- CVE-2026-23305Wysokie
W jądrze Linuxa naprawiono podatność związaną z niewłaściwym wycofywaniem w ścieżce błędu w funkcji rocket_probe. Problem występuje, gdy rocket_core_init() kończy się niepowodzeniem, co może prowadzić do nieprawidłowego dostępu do pamięci.
- CVE-2026-23285Średnie
W jądrze Linux funkcja `drbd_request_endio()` przekazuje `READ_COMPLETED_WITH_ERROR` do `__req_mod()` z pustym wskaźnikiem `peer_device`, który następnie jest dereferencjonowany w `drbd_set_out_of_sync()`. Prowadzi to do dereferencji pustego wskaźnika przy lokalnym błędzie odczytu w DRBD.
- CVE-2026-23280Wysokie
W jądrze Linuxa zidentyfikowano podatność, która może prowadzić do przepełnienia obliczeń rozmiaru ubuf. Może to skutkować niewłaściwą alokacją pamięci i potencjalnym uszkodzeniem pamięci.
- CVE-2026-23276Średnie
W jądrze Linux funkcje transmisji tuneli (iptunnel_xmit, ip6tunnel_xmit) nie miały własnego limitu rekurencji. Gdy urządzenie bond w trybie broadcast ma jako slave interfejsy GRE tap, a tunele GRE routują z powrotem przez bond, ruch multicast/broadcast wywołuje nieskończoną rekurencję między bond_xmit_broadcast() a ip_tunnel_xmit()/ip6_tnl_xmit(), prowadząc do przepełnienia stosu jądra. Wprowadzono niższy limit rekurencji (4) oraz wykrywanie rekurencji w iptunnel_xmit() i ip6tunnel_xmit().
- CVE-2026-23246Wysokie
W jądrze Linux w podsystemie wifi mac80211 funkcja ieee80211_ml_reconfiguration nie sprawdza poprawnie wartości link_id pobieranej z elementu ML Reconfiguration (zakres 0–15). Tablica link_removal_timeout[] ma 15 elementów, więc indeks 15 powoduje zapis poza granicami stosu.
- CVE-2026-23244Wysokie
W jądrze Linux w funkcji nvme_pr_read_keys() wartość num_keys pochodząca z przestrzeni użytkownika jest używana do obliczenia rozmiaru alokacji pamięci (do 4 MB). Duża wartość num_keys powoduje próbę alokacji o rzędzie przekraczającym MAX_PAGE_ORDER, co wywołuje ostrzeżenie w alokatorze stron. Poprawka zastępuje kzalloc() funkcją kvzalloc().
- CVE-2026-23217Średnie
W jądrze Linux rozwiązano podatność w riscv: trace, polegającą na zakleszczeniu podczas wykonywania zrzutu (snapshot) z powodu wywołań sbi ecall. Jeśli funkcje w sbi_ecall.c są śledzone, zrzut pierścienia bufora wywołuje przerwanie IPI, które ponownie wywołuje __sbi_ecall i kolejny zrzut, tworząc nieskończoną pętlę. Problem łatwo wyzwolić na systemach RISC-V bez rozszerzenia SSTC z powodu okresowych sbi ecall z timer-riscv.c.
- CVE-2026-23196Średnie
W jądrze Linux w sterowniku HID Intel-thc-hid (Intel-thc) dodano sprawdzenie bezpieczeństwa przed odczytem bufora DMA, aby uniknąć nieoczekiwanego dostępu do wskaźnika NULL. Poprawka polega na dodaniu sprawdzenia gotowości bufora DMA przed jego odczytem.
- CVE-2026-23181Nieznane
W jądrze Linux naprawiono podatność w systemie plików btrfs związaną z niespójnością rozmiaru bloku urządzenia blokowego podczas montowania. Jeśli użytkownik zmieni rozmiar bloku poleceniem BLKBSZSET po przydzieleniu folio, dochodzi do naruszenia asercji VM_BUG_ON_FOLIO lub dereferencji NULL w create_empty_buffers().
- CVE-2025-71223Średnie
W jądrze Linux w module serwera SMB (ksmbd) występuje wyciek licznika referencji w funkcji smb2_open(). Gdy ksmbd_vfs_getattr() zwróci błąd, licznik referencji ksmbd_file nie jest zwalniany.
- CVE-2026-23152Średnie
W jądrze Linux w module wifi mac80211 występuje niepoprawne dekodowanie elementu TTLM (TID-To-Link Mapping) z domyślną mapą linków. Gdy używane jest domyślne mapowanie, parser nie pomija go prawidłowo i odczytuje jeden bajt poza końcem elementu.
- CVE-2026-23104Średnie
W jądrze Linux sterownik ice ma błąd w obsłudze devlink reload związany z odczytem czujnika temperatury przez HWMON. ice_hwmon_init() jest wywoływane w ice_init_feature(), a ice_hwmon_exit() w ice_remove(), co przy devlink reload i następnym usunięciu sterownika prowadzi do osieroconego wpisu hwmon i błędu page fault (call trace).
- CVE-2026-23017Średnie
W jądrze Linux w sterowniku idpf występuje błąd obsługi błędów w zadaniu inicjalizacyjnym podczas ładowania sterownika. Jeśli zadanie init_task zakończy się niepowodzeniem (np. odrzucenie CREATE_VPORT przez firmware), sterownik pozostaje bez vportów i netdevów, a kolejny reset powoduje dereferencję NULL i awarię jądra.
- CVE-2026-22993Średnie
W jądrze Linux w sterowniku idpf występuje błąd, który podczas soft resetu zwalnia tablicę RSS LUT i nie przywraca jej, jeśli interfejs nie jest aktywny. Wywołanie polecenia ethtool odczytującego RSS LUT zaraz po resecie powoduje dereferencję wskaźnika NULL i panikę jądra.
- CVE-2025-48647Wysokie
W funkcji cpm_fwtp_msg_handler w pliku cpm/google/lib/tracepoint/cpm_fwtp_ipc.c istnieje możliwość nadpisania pamięci z powodu nieprawidłowej walidacji danych wejściowych. Może to prowadzić do lokalnej eskalacji uprawnień bez dodatkowych uprawnień wykonawczych. Interakcja użytkownika nie jest wymagana do wykorzystania.
- CVE-2025-71115Średnie
W jądrze Linux rozwiązano podatność: um: init cpu_tasks[] earlier. Inicjalizacja tablicy cpu_tasks[] odbywa się obecnie w uml_finishsetup(), ale np. z włączonym KCOV nastąpi awaria, ponieważ kod inicjalizacyjny może wywołać memparse(), który ma adnotacje pokrycia, a następnie sprawdzenia w check_kcov_mode() powodują awarię, ponieważ current jest NULL. Rozwiązaniem jest statyczna inicjalizacja tablicy cpu_tasks[], co naprawia awarię. Dla późniejszych prac SMP wydaje się to nie powodować problemów, ale i tak zainicjalizowano wszystkie wpisy.
- CVE-2025-68779Nieznane
W jądrze Linux w sterowniku net/mlx5e występuje podwójne wyrejestrowanie PSP — zarówno w ścieżce _mlx5e_remove, jak i mlx5e_nic_cleanup wywoływane jest mlx5e_psp_unregister. Prowadzi to w pewnych warunkach do niedomiaru licznika referencji (refcount underflow) i use-after-free, co powoduje ostrzeżenie jądra i potencjalną niestabilność systemu.
- CVE-2023-54105Nieznane
W jądrze Linux rozwiązano lukę w can: isotp: isotp_bind() polegającą na braku sprawdzenia rodziny adresów CAN. Dodano brakujące sprawdzenie blokujące powiązania inne niż AF_CAN; Syzbot utworzył kod o prawidłowym rozmiarze struktury sockaddr, ale z AF_XDP (0x2C) zamiast AF_CAN (0x1D) w polu rodziny adresów.
- CVE-2023-53642Średnie
W jądrze Linux występuje błąd w adnotacji obsługi wyjątków w funkcji clear_user_rep_good() dla architektury x86. Adnotacja tabeli wyjątków wskazuje na instrukcję przeniesienia rejestru zamiast na właściwą instrukcję dostępu do pamięci użytkownika, przez co wyjątek dostępu do pamięci nie jest prawidłowo obsługiwany i zamiast zwrócenia -EFAULT powoduje oops jądra.
- CVE-2022-50380Średnie
W jądrze Linux w /proc/pid/smaps_rollup występuje błąd dereferencji NULL, gdy zadanie nie ma żadnych VMA. Problem wprowadzono commitem konwertującym do seq_file i występuje w funkcji show_smaps_rollup.
- CVE-2022-50332Średnie
W jądrze Linux występuje błąd w funkcji aperture_remove_conflicting_pci_devices(), która nie wywołuje sysfb_disable() przed usunięciem urządzeń PCI. W rezultacie sterownik simpledrm może nadal wiązać się z urządzeniami simple-framebuffer po przejęciu sprzętu przez właściwy sterownik, co prowadzi do konfliktów i niezdefiniowanych zachowań, w tym błędów modesetting i zacięć RCU.
- CVE-2025-38674Średnie
W jądrze Linux wycofano zmianę, która powodowała, że pole dma_buf w strukturze drm_gem_object stawało się NULL po zwolnieniu ostatniego uchwytu GEM przez przestrzeń użytkownika. Prowadziło to do dereferencji wskaźnika NULL. Poprawka przywraca użycie .import_attach->dmabuf.
- CVE-2025-38673Średnie
W jądrze Linux wycofano zmianę "drm/gem-framebuffer: Use dma_buf from GEM object instance", ponieważ pole dma_buf w struct drm_gem_object nie jest stabilne przez cały okres życia obiektu. Pole staje się NULL, gdy przestrzeń użytkownika zwolni ostatni uchwyt GEM, co powodowało dereferencję NULL.
- CVE-2025-38672Średnie
W jądrze Linux przywrócono wcześniejszą zmianę dotyczącą pola dma_buf w strukturze drm_gem_object, które nie jest stabilne przez cały okres życia obiektu. Pole staje się NULL, gdy przestrzeń użytkownika zwolni ostatni uchwyt GEM, co prowadziło do dereferencji wskaźnika NULL.
- CVE-2025-38669Średnie
W jądrze Linux wycofano zmianę w drm/gem-shmem, która powodowała, że pole dma_buf w strukturze drm_gem_object stawało się NULL po zwolnieniu ostatniego uchwytu GEM przez przestrzeń użytkownika. Prowadziło to do dereferencji wskaźnika NULL. Poprawka przywraca użycie .import_attach->dmabuf.
- CVE-2025-38605Średnie
W jądrze Linux w sterowniku wifi ath12k funkcja ath12k_dp_tx_get_encap_type() używa parametru arvif tylko do pobrania wskaźnika ab. Podczas sekwencji usuwania vdev pole arvif->ar może stać się NULL, co prowadzi do paniki jądra. Ponieważ wywołujący ath12k_dp_tx() ma już prawidłowy wskaźnik ab, przekazanie go bezpośrednio eliminuje problem i niepotrzebne dereferencjonowanie.
- CVE-2025-38565Wysokie
W jądrze Linux rozwiązano podatność w perf/core: gdy `perf_mmap()` nie zdoła przydzielić bufora, nadal wywołuje callback `event_mapped()`, co na architekturze X86 może zwiększyć licznik referencji `perf_rdpmc_allowed`. Ponieważ `perf_mmap_close()` nie jest wtedy wywoływane, licznik nie jest zmniejszany, co prowadzi do wycieku referencji. Poprawka polega na wcześniejszym zwrocie w przypadku błędu.
- CVE-2025-38563Wysokie
W jądrze Linux podatność w perf/core pozwala na podział mapowań VMA bufora pierścieniowego, co prowadzi do wycieków liczników referencji. Podział VMA powoduje wywołania perf_mmap_open() zwiększające liczniki, ale kolejne perf_mmap_close() nie spełniają już warunków offsetu i rozmiaru. Poprawka implementuje callback may_split() zwracający -EINVAL, aby zapobiec podziałom.
- CVE-2025-38438Średnie
W jądrze Linux w komponencie ASoC SOF Intel hda występuje wyciek pamięci, ponieważ sof_pdata->tplg_filename może zostać nadpisany, gdy adres został przydzielony przez kstrdup(). Wyciek został wykryty przez kmemleak.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

