Podatności Linux kernel
7563 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90219Nieznane
W jądrze Linux w sterowniku RDMA cxgb4 funkcja c4iw_alloc() tworzy drzewo debugfs, ale nie usuwa go w c4iw_dealloc(). Gdy rejestracja urządzenia RDMA się nie powiedzie, ścieżka err_dealloc_ctx pomija c4iw_remove(), powodując wyciek wpisów debugfs.
- CVE-2026-90218Nieznane
W jądrze Linux w module RDMA/cma występuje błąd, który powoduje ostrzeżenie WARN_ON w funkcji res_to_rt() podczas asynchronicznego rozwiązywania adresów. Problem pojawia się, gdy funkcja cma_acquire_dev_by_src_ip() zwróci błąd, a zasób i tak jest dodawany do restrack z pustym wskaźnikiem urządzenia. Poprawka polega na dodawaniu zasobu tylko wtedy, gdy pozyskanie urządzenia się powiedzie.
- CVE-2026-90216Nieznane
W jądrze Linux w podsystemie UBI funkcja ubi_init_attach() wycofuje nieudane inicjalizacje, skanując ubi_devices[0..i-1] i zakładając, że indeks parametru mtd= odpowiada numerowi urządzenia UBI. Przy jawnie podanym ubi_num założenie jest błędne i pomyślnie podłączone urządzenie może zostać pominięte przy wycofywaniu.
- CVE-2026-90215Nieznane
W jądrze Linux w podsystemie UBI funkcja ubi_detach_mtd_dev() pobiera odwołanie do urządzenia przez ubi_get_device() przed sprawdzeniem, czy urządzenie jest zajęte. Ścieżka zwrotu -EBUSY zwalnia ubi->ref_count, ale nie zwalnia odwołania do urządzenia, uniemożliwiając jego późniejsze zwolnienie.
- CVE-2026-90214Nieznane
W jądrze Linux w sterowniku ASoC xilinx formatter_pcm funkcja xlnx_formatter_pcm_open() alokuje stream_data i przypisuje wskaźnik strumienia przed dalszą walidacją. Jeśli późniejszy krok zawiedzie, ALSA nie wywołuje zamknięcia, więc stream_data wycieka, a wskaźnik pozostaje wiszący na zwolnionym substreamie.
- CVE-2026-90213Nieznane
W jądrze Linux w podsystemie firewire funkcja build_tree() w ścieżce błędu pozostawia zaalokowane instancje węzłów w lokalnej liście. Gdy w sekwencji self ID wykryta zostanie nieprawidłowa wartość, instancje te nie są zwalniane, powodując wyciek pamięci.
- CVE-2026-90212Nieznane
W jądrze Linux na architekturze arm64 występuje błąd w obsłudze usług EFI runtime przy włączonym programowym PAN (CONFIG_ARM64_SW_TTBR0_PAN). Kod zarządzania kontekstem fpsimd wywoływany z __efi_fpsimd_begin() może zostać wywłaszczony, przez co po powrocie do kodu EFI wartość TTBR0_EL1 jest nieprawidłowa, co prowadzi do błędu dostępu do pamięci jądra. Problem rozwiązano, zmieniając kolejność przełączania fpsimd tak, aby odbywało się przed zmianą tablicy stron.
- CVE-2026-90209Nieznane
W jądrze Linux występuje zakleszczenie podczas wyrejestrowywania obszaru debugowania s390dbf, gdy jeden z powiązanych plików debugfs jest w trakcie zapisu. Wątek zapisujący debugfs czeka na debug_mutex, który jest trzymany przez debug_unregister() oczekujące na debugfs_file_put(), co prowadzi do zakleszczenia. Poprawka dzieli debug_unregister() na część s390dbf i debugfs, uruchamiając tylko część s390dbf z trzymanym debug_mutex.
- CVE-2026-90208Nieznane
W jądrze Linux sterownik zegara samsung_pwm używa zwykłego spinlocka, który przy włączonym PREEMPT_RT na ARM jest konwertowany na blokadę usypiającą (opartą na mutexie). Taka blokada nie może być używana w kontekście atomowym, np. w procedurach obsługi przerwań sprzętowych. Poprawka zmienia samsung_pwm_lock na raw_spinlock, który pozostaje prawdziwym nieusypiającym spinlockiem nawet przy PREEMPT_RT.
- CVE-2026-90206Nieznane
W jądrze Linux wykryto wyścig (race condition) w podsystemie nvmet pomiędzy zmianą limitu max_qid przez configfs a alokacją kontrolera. Może to prowadzić do odczytu/zapisu poza przydzieloną pamięcią (out-of-bounds) oraz potencjalnego uszkodzenia pamięci. Poprawka synchronizuje operacje za pomocą semafora i kopiuje wartość max_qid do struktury kontrolera, eliminując niebezpieczną zależność.
- CVE-2026-90202Nieznane
W jądrze Linuxa w podsystemie SCSI (mpt3sas) funkcja _base_release_memory_pools() nieprawidłowo zwalnia nieprzydzielone bufory SGList PCIe, co może prowadzić do ostrzeżenia "bad dma" na jądrach debug lub do dereferencji wskaźnika NULL.
- CVE-2026-90201Nieznane
W jądrze Linux występuje podatność Use-After-Free w funkcji __page_pool_release_netmem_dma w podsystemie page_pool. Wyścig między page_pool_scrub() a zwracaniem stron przez page_pool_put_netmem() na innym CPU powoduje, że przegrany w xa_cmpxchg zwalnia stronę, zanim zwycięzca zakończy dostęp do jej pól, co prowadzi do użycia zwolnionej pamięci.
- CVE-2026-90198Nieznane
W jądrze Linux wykryto podatność use-after-free w funkcji snd_card_do_free() w podsystemie ALSA. Problem występuje, gdy karta dźwiękowa zarządzana przez devres jest odłączana, podczas gdy aplikacja użytkownika nadal trzyma otwarty deskryptor pliku. Po obudzeniu wątku odłączającego, wątek użytkownika odczytuje pole 'managed' z już zwolnionej pamięci, co prowadzi do błędu KASAN.
- CVE-2026-90197Nieznane
W jądrze Linuxa w sterowniku HID (haptic) funkcja fill_effect_buf() zapisuje niezainicjalizowaną wartość do nieobsługiwanych użyć (usages), co może skutkować zapisaniem losowych danych do bufora raportu efektu.
- CVE-2026-90196Nieznane
W jądrze Linuxa w podsystemie ASoC SOF brakuje walidacji zakresu wolumenu topologii przed alokacją. Odwrócony zakres lub maksimum >= INT_MAX może prowadzić do bezpiecznej alokacji i indeksowania.
- CVE-2026-90195Nieznane
W jądrze Linuxa dla architektury RISC-V (RV64) JIT nie wykonuje rozszerzenia znaku dla 1- i 2-bajtowych argumentów kfunc, co narusza ABI. Po zmianie w analizie liveness błędy te wychodzą na jaw.
- CVE-2026-90194Nieznane
W jądrze Linuxa w podsystemie ACPI scan, gdy device_add() zawiedzie po alokacji identyfikatora instancji, wycofanie nie czyści wpisów bus-ID, pozostawiając niedostępny numer instancji.
- CVE-2026-90193Nieznane
W jądrze Linuxa w sterowniku mailbox qcom-cpucp, funkcja obsługi przerwania wywołuje mbox_chan_received_data() trzymając lock chan->lock. Przy PREEMPT_RT prowadzi to do zakleszczenia (self-deadlock).
- CVE-2026-90192Nieznane
W jądrze Linux sterownik skrzynki pocztowej qcom-cpucp (qcom_cpucp_mbox_send_data) bezwarunkowo dereferencjonował wskaźnik danych, który może być NULL. Funkcja mailbox_clear_channel() wywołuje mbox_send_message() z NULL, co powodowało panikę jądra przez NULL pointer dereference, szczególnie w konfiguracji PREEMPT_RT.
- CVE-2026-90190Nieznane
W jądrze Linux moduł null_blk inicjalizował mutex (mutex_init(&lock)) po zarejestrowaniu podsystemu configfs, przez co wyścigowe mkdir() w /sys/kernel/config/nullb/ mogło wywołać mutex_lock() przed inicjalizacją mutexa. Powodowało to ostrzeżenie DEBUG_LOCKS_WARN_ON i WARNING w kernel/locking/mutex.c.
- CVE-2026-90189Nieznane
W jądrze Linux występuje błąd w module null_blk, gdzie podsystem configfs jest rejestrowany przed utworzeniem domyślnych urządzeń. W wyniku wyścigu z przestrzeni użytkownika (mkdir + poweron) może dojść do ostrzeżenia WARN_ON w __add_disk, a w ścieżce błędu do użycia zwolnionej pamięci (UAF).
- CVE-2026-90188Nieznane
W jądrze Linux moduł null_blk przy włączonej opcji shared_tags alokuje globalny tag_set przez null_init_global_tag_set(). Jeśli późniejsze tworzenie urządzenia zakończy się błędem, ścieżka err_dev nie zwalnia globalnego tag_set, a ponieważ inicjalizacja modułu się nie powiodła, null_exit() nigdy nie jest wywoływane — tagi i mapy tag_set wyciekają trwale.
- CVE-2026-90187Nieznane
W jądrze Linux moduł null_blk alokuje tablicę dev->zones przy włączaniu urządzenia strefowego (null_init_zoned_dev()), ale null_del_dev() nie zwalnia jej przy wyłączaniu — zwolnienie następuje dopiero w null_free_dev() przy usuwaniu katalogu configfs. Ponowne włączenie urządzenia nadpisuje wskaźnik dev->zones, powodując wyciek pamięci przy każdym cyklu zasilania.
- CVE-2026-90185Nieznane
W jądrze Linux w module null_blk atrybuty configfs (submit_queues, poll_queues) są zapisywane bez odpowiedniej synchronizacji. Równoległe zapisy przez różne deskryptory plików mogą prowadzić do niespójności stanu urządzenia, np. rozbieżności między submit_queues a rzeczywistą liczbą kolejek lub wyjścia poza zakres tablicy dev->zones[].
- CVE-2026-90184Nieznane
W jądrze Linuxa w sterowniku null_blk wykryto podatność polegającą na braku synchronizacji zapisów do atrybutów configfs z procesem konfiguracji urządzenia. Atrybuty mogą być zmieniane współbieżnie z inicjalizacją urządzenia, co prowadzi do niespójności konfiguracji, wyzwolenia ostrzeżeń WARN_ON_ONCE i awarii urządzenia z błędem -EIO. W skrajnych przypadkach może dojść do dereferencji wskaźnika NULL podczas zapisu do urządzenia.
- CVE-2026-90183Nieznane
W jądrze Linux w mechanizmie blk-iolatency stan opóźnienia nie jest czyszczony przy zwalnianiu danych polityki. Grupa blk-cgroup może pozostać oznaczona jako przeciążona na stałe, co powoduje ograniczenie readahead i harmonogramowanie throttlingu przy alokacji anonimowych stron.
- CVE-2026-90182Nieznane
W jądrze Linux w mechanizmie blk-iocost stan opóźnienia nie jest czyszczony przy zwalnianiu danych polityki. Grupa blk-cgroup może pozostać oznaczona jako przeciążona na stałe, co powoduje ograniczenie readahead i harmonogramowanie throttlingu przy alokacji anonimowych stron.
- CVE-2026-90180Nieznane
W jądrze Linux w sterowniku mtip32xx procedury obsługi ioctl nie są synchronizowane z usuwaniem urządzenia. Bit REMOVE_PENDING jest sprawdzany przed wejściem do mtip_hw_ioctl(), ale usunięcie może ustawić go zaraz potem i zwolnić dd->port, podczas gdy ioctl nadal go używa, co prowadzi do use-after-free.
- CVE-2026-90171Nieznane
W jądrze Linux wykryto podatność w module SMB Direct (smbdirect), polegającą na zwalnianiu oczekujących gniazd potomnych przed zniszczeniem identyfikatora cm_id nasłuchującego. Powoduje to użycie po zwolnieniu (use-after-free) w funkcji _cma_cancel_listens(), co może prowadzić do awarii systemu lub eskalacji uprawnień.
- CVE-2026-90166Nieznane
W jądrze Linux w serwerze SMB (ksmbd) występuje podatność na odwołanie do wskaźnika null (null-ptr-deref) w funkcji ksmbd_ipc_tree_connect_request(). Problem pojawia się, gdy alokacja nazwy udziału (share->name) zawiedzie, a kod nie sprawdza tego błędu przed użyciem nazwy w strlen().
- CVE-2026-90165Nieznane
W jądrze Linux w serwerze SMB (ksmbd) występuje podatność na nieprawidłowe odwołanie do wskaźnika w funkcji ksmbd_stop_durable_scavenger(). Gdy utworzenie wątku (kthread_run) zawiedzie, zmienna dh_task zawiera błąd ERR_PTR, a późniejsze wywołanie kthread_stop() na tym wskaźniku prowadzi do nieprawidłowego odwołania.
- CVE-2026-90164Nieznane
W jądrze Linux w serwerze SMB (ksmbd) funkcja ksmbd_server_init() nie przerywa inicjalizacji, gdy ksmbd_proc_init() zawiedzie. ksmbd_proc_init() zwraca void, więc błędy alokacji nie są wykrywane, co prowadzi do użycia nieprawidłowych wskaźników przy późniejszym wywołaniu ksmbd_proc_reset() i tworzeniu wpisów w /proc.
- CVE-2026-90163Nieznane
W jądrze Linux w serwerze SMB (ksmbd) podczas inicjalizacji modułu, gdy późniejszy inicjalizator zawiedzie, nie jest wywoływana funkcja ksmbd_proc_cleanup(), co prowadzi do wycieku zasobów (drzewo /proc i liczniki per-CPU).
- CVE-2026-90160Nieznane
W jądrze Linux w module lwt_bpf występuje podatność polegająca na nieprawidłowym sprawdzaniu zapasowego miejsca w nagłówku (headroom) po wykonaniu programu BPF typu LWT_XMIT. Sprawdzenie używa hard_header_len, co nie uwzględnia wyrównania wymaganego przez ścieżkę z buforowanym nagłówkiem sąsiada (neigh_hh_output), co może prowadzić do odrzucenia pakietu.
- CVE-2026-90159Nieznane
W jądrze Linux w mechanizmie BPF występuje podatność polegająca na tym, że funkcje bpf_setsockopt() i bpf_getsockopt() mogą być wywoływane w hookach cgroup UNIX getname (BPF_CGROUP_UNIX_GETPEERNAME i BPF_CGROUP_UNIX_GETSOCKNAME) bez trzymania zamka gniazda, co prowadzi do ostrzeżenia sock_owned_by_me().
- CVE-2026-90158Nieznane
W jądrze Linux w sterowniku m68k nfcon występuje zakleszczenie (deadlock) spowodowane wywołaniem console_is_registered() w funkcji nfcon_device(), gdy funkcja .device() jest wywoływana z trzymanym zamkiem console_list_lock, a console_is_registered() próbuje go ponownie nabyć.
- CVE-2026-90157Nieznane
W jądrze Linux w mechanizmie BPF występuje podatność polegająca na tym, że program BPF w hooku cgroup getsockopt może ustawić ujemną wartość ctx->optlen, co jest akceptowane i przekazywane do kodu TCP getsockopt, prowadząc do ostrzeżenia hardened usercopy (bytes > INT_MAX).
- CVE-2026-90140Nieznane
W jądrze Linuxa w module cuse występuje podatność polegająca na użyciu po zwolnieniu (UAF) podczas wyładowywania modułu. Funkcja fuse_conn_put() zwalnia strukturę fuse_conn przez call_rcu(), a jeśli moduł cuse zostanie usunięty przed zakończeniem okresu RCU, wywołanie zwrotne może wykonać kod z już zwolnionej pamięci modułu, prowadząc do błędu strony lub niezdefiniowanego zachowania.
- CVE-2026-90139Nieznane
W jądrze Linux w funkcji fuse_fill_super_submount() nie sprawdzano, czy fuse_iget() zwróciło NULL. Gdy alokacja inode'a głównego montowania podrzędnego (submount) nie powiedzie się — np. przy niedoborze pamięci — wynik NULL był przekazywany do get_fuse_inode(), co powodowało dereferencję wskaźnika NULL i awarię (oops) podczas montowania.
- CVE-2026-90138Nieznane
W jądrze Linux w funkcji vsock_accept() sprawdzano pole sk_err gniazda nasłuchującego, co powodowało odrzucanie prawidłowych połączeń przychodzących, jeśli na gnieździe pozostał błąd z wcześniejszej, nieudanej próby połączenia (np. self-connect zakończony EPROTO). Prowadziło to do wycieku zasobów — gniazdo potomne tworzone dla odrzuconego połączenia nie było zwalniane w transportach virtio i hyperv. Problem został rozwiązany poprzez usunięcie tych sprawdzeń.
- CVE-2026-90136Nieznane
W jądrze Linux w module hwmon sterownika platform/x86/amd/hsmp funkcja hsmp_hwmon_write() przyjmuje wartość od użytkownika jako signed long i przypisuje wynik dzielenia przez MICROWATT_PER_MILLIWATT do pola __u32. Wartość ujemna (np. echo -1 > power1_cap) jest najpierw konwertowana na ogromną wartość unsigned, a następnie zapisywana do u32, co powoduje wysłanie do SMU absurdalnego limitu mocy rzędu wielu gigawatów zamiast odrzucenia zapisu.
- CVE-2026-90135Nieznane
W jądrze Linux funkcja alloc_netdev_mqs() nie wywołuje ref_tracker_dir_exit() w ścieżkach błędów, gdy zawiedzie alloc_percpu() lub dev_addr_init(). Powoduje to, że odczyt /sys/kernel/debug/ref_tracker/* prowadzi do użycia zwolnionej pamięci (use-after-free).
- CVE-2026-90134Nieznane
W jądrze Linux w systemie plików NTFS kilka ścieżek skompresowanego I/O odrzuca adres zwrócony przez kmap_local_page() i następnie używa page_address() do dostępu lub odmapowania strony. Jest to nieprawidłowe dla stron highmem, a mapowania lokalne muszą być odmapowane przy użyciu adresu zwróconego przez kmap_local_page().
- CVE-2026-90130Nieznane
W jądrze Linux funkcja vdpasim_create() pozostawia vdpasim->worker jako ERR_PTR, gdy kthread_run_worker() zawiedzie. Ścieżka błędu zwalnia referencję do urządzenia, a vdpasim_free() bezwarunkowo przekazuje wskaźnik worker do kthread_destroy_worker(), co powoduje dereferencję ERR_PTR i general protection fault.
- CVE-2026-90129Nieznane
W jądrze Linux sterownik virtio_balloon nie posiada własnego handlera .shutdown, więc generyczny handler magistrali virtio resetuje urządzenie podczas device_shutdown(), gdy asynchroniczna praca balloon jest wciąż aktywna. Powoduje to, że virtqueue_add_inbuf() zwraca -EIO i wywołuje WARN_ON_ONCE(), co przy panic_on_warn zamienia zwykły restart w panikę jądra.
- CVE-2026-90128Nieznane
W jądrze Linux w sterowniku vdpa/mlx5 funkcja add_direct_chain() dodaje nowo przydzielone wpisy direct MR do lokalnej listy 'tmp', która jest dołączana do mr->head tylko przy sukcesie. W ścieżce błędu pętla sprzątająca iterowała błędnie po mr->head zamiast po tmp, co prowadzi do nieprawidłowego zwalniania zasobów.
- CVE-2026-90127Nieznane
W jądrze Linux sterownik virtio RTC oczekuje na zwrot buforów requestq bez limitu czasu, podczas gdy operacje klasy RTC działają z wstrzymanym rtc_device.ops_lock. Przy nagłym usunięciu urządzenia virtio-pci oznacza kolejki jako uszkodzone przed wyrejestrowaniem, co powoduje zawieszenie viortc_remove() w viortc_class_stop() podczas próby uzyskania ops_lock.
- CVE-2026-90126Nieznane
W jądrze Linux sterownik RTC pcf8563 rejestruje dostawcę zegara CLKOUT przez of_clk_add_provider(), ale nigdy go nie wyrejestrowuje — brakuje wywołania of_clk_del_provider() i callbacku remove. Każde odłączenie urządzenia lub przeładowanie modułu powoduje wyciek struktury of_clk_provider oraz referencji do węzła OF.
- CVE-2026-90125Nieznane
W jądrze Linux w funkcji smb2_new_read_req() wykryto wyciek bufora żądania. Bufor jest alokowany, ale w dwóch ścieżkach błędów nie jest zwalniany ani przekazywany do wywołującego, co prowadzi do wycieku pamięci. Błąd dotyczy ścieżki asynchronicznego odczytu SMB2 i może być powtarzany przy każdym nieudanym rejestrowaniu regionu pamięci.
- CVE-2026-90124Nieznane
W jądrze Linux funkcje rzg2l_clear_irq_int() i rzg2l_clear_tint_int() wykonują odczyt-modyfikację-zapis na rejestrach ISCR/TSCR, aby wyczyścić bit obsłużonego przerwania. Ponieważ rejestry te są czyszczone przez zapis zera na danym bicie, równoległe ustawienie innego bitu przerwania między odczytem a zapisem powoduje jego skasowanie i utratę przerwania.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

