Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-92477Niskie ryzyko· EPSS 6%
W jądrze Linux funkcja ufs_saved_err_write() kopiuje dane wejściowe użytkownika do bufora stosu o zerowej inicjalizacji i przekazuje je do kstrtoint(). Zapis wypełniający cały bufor nadpisuje jego jedyny terminator NUL.
- CVE-2026-92476Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja kmb_ocs_aes_probe() żąda przerwania IRQ urządzenia przed zainicjalizowaniem irq_completion. Po zarejestrowaniu handlera może on uruchomić się natychmiast, a ocs_aes_irq_handler() bezwarunkowo wywołuje complete(), używając niezainicjalizowanego obiektu completion.
- CVE-2026-90435Wysokie
W jądrze Linux funkcja set_user_buf_size() w sterowniku RDMA/mlx5 oblicza rozmiar bufora QP przez przesunięcie w lewo dostarczonych przez użytkownika wartości rq.wqe_cnt i rq.wqe_shift jako liczb całkowitych ze znakiem. Duże rq.wqe_cnt powoduje przepełnienie ze znakiem, dając mały lub ujemny buf_size, przez co ib_umem_get() mapuje bufor mniejszy niż sprzęt faktycznie zapisze.
- CVE-2026-90434Niskie ryzyko· EPSS 11%
W jądrze Linux w funkcji zisofs_fill_pages() (system plików isofs) ścieżka sukcesu pozostawiała ostatni bufor nagłówka bloku (buffer_head) bez zwolnienia. Prowadzi to do wycieku referencji bufora przy odczycie tablicy wskaźników skompresowanych bloków zisofs.
- CVE-2026-90433Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik SPI oc-tiny alokował kontroler przez spi_alloc_host() (bez zarządzania zasobami), a przerwanie rejestrował przez devm_request_irq(). Podczas usuwania kontroler był zwalniany przed wykonaniem free_irq(), co pozwalało późnemu lub zatrzaśniętemu przerwaniu odwołać się do zwolnionej pamięci (use-after-free).
- CVE-2026-90432Niskie ryzyko· EPSS 9%
W jądrze Linux w schedulerze sched_ext funkcja scx_hardlockup() odkładała przerwanie (abort) przez irq_work, co nie działało w kontekście NMI i uniemożliwiało odzyskanie z samodzielnie wykrytego zakleszczenia. Dodatkowo zwracano wartość true nawet gdy abort został odrzucony, tłumiąc raport o hardlockup.
- CVE-2026-90431Niskie ryzyko· EPSS 11%
W jądrze Linux w podsystemie remoteproc brak synchronizacji między rproc_crash_handler_work() a rproc_del() pozwalał na usunięcie sterownika podczas gdy obsługa awarii była zaplanowana lub wykonywana, prowadząc do use-after-free. Wprowadzono flagę "deleting" oraz anulowanie i synchronizację pracy przed usunięciem.
- CVE-2026-90430Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku iommu/tegra241-cmdqv funkcja tegra241_vintf_init_lvcmdq() publikowała wskaźnik vcmdq w tablicy vintf->lvcmdqs[] zanim tegra241_vcmdq_alloc_smmu_cmdq() zainicjalizował vcmdq->cmdq. Zatrzaśnięty błąd LVCMDQ w tym oknie powodował przekazanie wyzerowanego arm_smmu_cmdq do __arm_smmu_cmdq_skip_err() i dereferencję wskaźników NULL.
- CVE-2026-90429Wysokie
W jądrze Linux w komponencie iommu/tegra241-cmdqv występuje błąd synchronizacji między procedurą obsługi przerwania błędu (ISR) a inicjalizacją i deinicjalizacją VINTF. Brak odpowiedniego uporządkowania pamięci i synchronizacji może prowadzić do odwołania do wskaźnika NULL lub użycia zwolnionej pamięci (use-after-free) podczas równoczesnego błędu. Podatność została naprawiona poprzez zastosowanie barier pamięci smp_store_release/smp_load_acquire oraz synchronize_irq().
- CVE-2026-90428Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku iommu/tegra241-cmdqv funkcja __tegra241_cmdqv_probe() rejestrowała przerwanie błędu przed alokacją tablicy cmdqv->vintfs i ustawieniem cmdqv->num_vintfs. Zatrzaśnięty błąd CMDQV odziedziczony po kexec powodował, że ISR przeglądał niezainicjalizowaną tablicę.
- CVE-2026-90427Wysokie
W jądrze Linux w sterowniku iommu/tegra241-cmdqv funkcja __tegra241_cmdqv_probe() używała devm_krealloc() do powiększenia @smmu, co zwalniało oryginalny wskaźnik po relokacji. Błąd po tej operacji zwracał NULL, a wywołujący dereferencjonował zwolniony @smmu na ścieżce awaryjnej.
- CVE-2026-90426Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku iommu/tegra241-cmdqv funkcja tegra241_cmdqv_remove() najpierw usuwała VINTF, a dopiero potem wywoływała free_irq(). Błąd w tym oknie powodował, że ISR odczytywał nieaktualny wpis i dereferencjonował NULL lub zwolniony wskaźnik.
- CVE-2026-90425Wysokie
W jądrze Linux w sterowniku iommu/tegra241-cmdqv funkcja tegra241_vintf_init_vsid() mapowała gościnny vSID na pojedynczy fizyczny Stream ID z master->streams[0], jedynie ostrzegając gdy urządzenie nie miało dokładnie jednego strumienia. Urządzenie z wieloma strumieniami miało mapowany tylko pierwszy, a urządzenie bez strumieni powodowało odczyt poza zakresem (ZERO_SIZE_PTR).
- CVE-2026-90424Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku iommu/tegra241-cmdqv występuje wyciek pamięci VINTF0 na ścieżce błędów inicjalizacji. Gdy funkcja tegra241_cmdqv_init_vintf() zawiedzie lub gdy późniejsza prealokacja VCMDQ się nie powiedzie, struktura VINTF0 nie jest prawidłowo zwalniana, a decyzja o zwolnieniu opiera się na błędnie odczytanym stanie własności sprzętowej.
- CVE-2026-90423Wysokie
W jądrze Linux w module RDMA/rxe występuje użycie po zwolnieniu (UAF) na ścieżce obsługi błędów inicjalizacji ODP. Gdy rxe_odp_init_pages() zawiedzie, wskaźnik mr->umem nie jest zerowany, co powoduje, że późniejsze wywołanie ib_umem_release() odczytuje już zwolnione pola.
- CVE-2026-90422Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku clk: mediatek: pllfh występuje wyciek zmapowanej pamięci IO na ścieżce błędów rejestracji PLL. Funkcja mtk_clk_register_pllfhs nie zwalnia pamięci IO zmapowanej na węźle fhctl, gdy rejestracja PLL się nie powiedzie.
- CVE-2026-90421Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie PCI występuje użycie po zwolnieniu (UAF), gdy operacja probe przebiega równolegle z usuwaniem dynamicznego identyfikatora. Wskaźnik do dynamicznego ID może zostać zwolniony przez remove_id_store(), podczas gdy pci_match_device() nadal go używa.
- CVE-2026-90420Niskie ryzyko· EPSS 12%
W jądrze Linux w systemie plików nilfs2 występuje nieskończona pętla w funkcji nilfs_clean_segments(). Gdy nilfs_segctor_construct() wielokrotnie zwraca -EROFS (np. po błędzie I/O i przełączeniu urządzenia w tryb tylko do odczytu), wątek cleaner wpada w nieskończoną pętlę.
- CVE-2026-90419Wysokie
W jądrze Linux w systemie plików nilfs2 występuje odczyt poza granicami bufora podczas parsowania bloku super-root. Rozmiar metadanych inode super-root jest zaufany przed wywołaniem nilfs_read_inode_common(), co pozwala złośliwemu obrazowi systemu plików na odczyt poza blokiem super-root.
- CVE-2026-90418Niskie ryzyko· EPSS 6%
W jądrze Linux w systemie plików nilfs2 występuje błąd BUG w funkcji nilfs_copy_dirty_pages() wywołany niezgodnością stanu dirty. Gdy strona dirty nieoczekiwanie traci status dirty po przejściu systemu plików w tryb tylko do odczytu, jądro zgłasza BUG.
- CVE-2026-90417Niskie ryzyko· EPSS 12%
W jądrze Linux w module RDMA/cxgb4 występuje wyciek skb i podwójne zwolnienie w funkcji write_tpt_entry(). Gdy urządzenie jest w stanie błędu krytycznego, write_tpt_entry() zwraca błąd przed przekazaniem skb, co prowadzi do wycieku w c4iw_dereg_mr() lub podwójnego zwolnienia w c4iw_get_dma_mr().
- CVE-2026-90416Niskie ryzyko· EPSS 11%
W jądrze Linux w module RDMA/mlx5 występuje odczyt poza granicami stosu w debugfs cc_params. Funkcja get_param() formatuje wartość u32 jako liczbę ze znakiem do 11-bajtowego bufora, co przy wartości 0x80000000 powoduje odczyt jednego bajtu poza buforem.
- CVE-2026-90415Niskie ryzyko· EPSS 7%
W jądrze Linux w module RDMA/cxgb4 występuje wyciek indeksu STAG, gdy zapis wpisu TPT się nie powiedzie. Funkcja write_tpt_entry() alokuje indeks STAG, ale przy błędzie write_adapter_mem() nie zwalnia go ani nie cofa statystyk, co prowadzi do wycieku aż do wyłączenia urządzenia.
- CVE-2026-90404Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja cros_ec_debugfs_probe() rejestruje notifier_panic w łańcuchu powiadomień paniki EC, ale ścieżka usuwania modułu nie wyrejestrowuje go. Późniejsze powiadomienie o panice może wywołać usuniętą instancję i zakolejkować pracę odwołującą się do zwolnionych danych.
- CVE-2026-90403Wysokie
W jądrze Linux w funkcji rtl_pci_probe() ostatnia ścieżka błędu pomija funkcje czyszczące z powodu błędnej etykiety goto. Dodatkowo nie są cofane udane wywołania rtl_init_rfkill(), ieee80211_register_hw() i rtl_debug_add_one().
- CVE-2026-90402Wysokie
W jądrze Linux funkcja mhi_register_controller() dodaje urządzenie kontrolera przed utworzeniem opcjonalnego pliku sysfs trigger_edl. Jeśli sysfs_create_file() zawiedzie, ścieżka błędu tylko zwalnia referencję urządzenia, pozostawiając je zarejestrowanym.
- CVE-2026-90401Wysokie
W jądrze Linux obsługa REQ_NOWAIT w osobowościach md raid1, raid10 i raid456 jest fundamentalnie niekompletna. Przy zapisach może wystąpić sytuacja, gdy jedno lustro się powiedzie, a inne zwróci -EAGAIN, przez co md nie potrafi odróżnić presji kolejki od awarii urządzenia i może doprowadzić do rozbieżności danych między lustrami.
- CVE-2026-90400Niskie ryzyko· EPSS 6%
W jądrze Linux w podsystemie md (RAID) występuje wyścig (race condition) między wątkiem raid10d a operacjami I/O. Zmiany konfiguracji dysków zapasowych (spare) mogą zostać wykonane bez uprzedniego zawieszenia macierzy, co prowadzi do dereferencji wskaźnika NULL i awarii jądra (kernel panic).
- CVE-2026-90399Wysokie
W jądrze Linux w funkcji ath12k_wmi_mac_phy_caps_parse() bufor mac_phy_caps jest alokowany jako tot_phy_id * len, gdzie len jest ograniczane, ale memcpy() przesuwa wskaźnik o rozmiar pełnej struktury na slot. Gdy firmware wysyła krótkie TLV, drugi i kolejne sloty są zapisywane poza końcem alokacji.
- CVE-2026-90398Wysokie
W jądrze Linux w funkcji ath11k_wmi_tlv_mac_phy_caps_parse() bufor mac_phy_caps jest alokowany jako tot_phy_id * len, gdzie len jest ograniczane, ale memcpy() przesuwa wskaźnik o rozmiar pełnej struktury na slot. Gdy firmware wysyła krótkie TLV, drugi i kolejne sloty są zapisywane poza końcem alokacji.
- CVE-2026-90397Niskie ryzyko· EPSS 9%
W jądrze Linux w qcom_scm_probe() funkcja devm_request_threaded_irq() jest wywoływana przed opublikowaniem __scm przez smp_store_release(). Dwie ścieżki mogą odwołać się do __scm przed jego opublikowaniem, powodując dereferencję NULL.
- CVE-2026-90396Niskie ryzyko· EPSS 10%
W jądrze Linux nieudane mapowanie integralności w bloku utrzymuje referencję dio, co prowadzi do jej wycieku. Należy przejść przez pełne zakończenie bio, jeśli w sekwencji były wcześniej przesłane bio.
- CVE-2026-90395Niskie ryzyko· EPSS 7%
W jądrze Linux notyfikator USB i początkowa detekcja VBUS mogą zakolejkować isp->work w sterowniku isp1704_charger. Ścieżka usuwania modułu wyrejestrowuje notyfikator i zasilanie, ale nie czeka na zakolejkowaną lub działającą pracę przed usunięciem stanu zasilania.
- CVE-2026-90394Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku ładowania sc2731_charger nie anulowano pracy (work) przy usuwaniu urządzenia. Notyfikator USB i początkowa detekcja ładowarki mogą zaplanować info->work, a ścieżka remove wyrejestrowuje notyfikator, ale nie anuluje zakolejkowanej lub działającej pracy przed zwolnieniem danych sterownika. Problem wykryto narzędziem analizy statycznej.
- CVE-2026-90393Niskie ryzyko· EPSS 13%
W jądrze Linux w funkcji bpf_netns_link_update_prog sprawdzenia old_prog i typu prog wykonywane są bez blokady przed pozyskaniem netns_bpf_mutex. Tworzy to warunek wyścigu, który może prowadzić do użycia zwolnionej pamięci (UAF), gdy dwa wątki jednocześnie wykonują BPF_LINK_UPDATE na tym samym łączu netns. Poprawka przenosi sprawdzenia do sekcji krytycznej mutexa.
- CVE-2026-90392Wysokie
W jądrze Linux w funkcjach bpf_link_show_fdinfo i bpf_link_get_info_by_fd pole link->prog jest odczytywane bez blokady. Jeśli prog zostanie równocześnie zastąpiony przez bpf_link_update, stary prog może zostać zwolniony, co prowadzi do potencjalnego użycia zwolnionej pamięci (UAF). Poprawka odczytuje link->prog pod ochroną RCU.
- CVE-2026-90391Niskie ryzyko· EPSS 11%
W jądrze Linux w lib/test_hmm funkcja dmirror_fault() zwraca 0, gdy mmget_not_zero() zawiedzie, mimo że żadna strona nie została obsłużona i nie zainstalowano wpisu tablicy stron urządzenia. Powoduje to, że wywołujący ponawia ten sam adres, trafia na -ENOENT i może zapętlić się w nieskończoność. Poprawka zwraca -EFAULT.
- CVE-2026-90390Niskie ryzyko· EPSS 9%
W jądrze Linux w md/bitmap funkcja backlog_store() zawiesza macierz przed sprawdzeniem, czy istnieje urządzenie write-mostly. Jeśli takie urządzenie nie istnieje, ścieżka błędu tylko odblokowuje reconfig_mutex i pozostawia macierz zawieszoną, blokując kolejne operacje I/O. Poprawka używa mddev_unlock_and_resume().
- CVE-2026-90389Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie md token memalloc_noio_save() przechowywany w mddev->noio_flags pozwala jednemu zadaniu zapisać token, a innemu go przywrócić. Przy równoczesnych zapisach do sysfs suspend zadanie A może wejść w PF_MEMALLOC_NOIO i wrócić do przestrzeni użytkownika w tym zakresie, a zadanie B przywróci zapisany token A. Poprawka ogranicza zakres PF_MEMALLOC_NOIO do sekcji krytycznych alokacji.
- CVE-2026-90388Wysokie
W jądrze Linux w iommu/dma nieblokująca, niespójna ścieżka alokacji używa dma_alloc_from_pool(), która zwraca przydzieloną stronę i wypełnia cpu_addr tylko przy sukcesie. Kod polega na cpu_addr do wykrycia błędu alokacji, co jest nieprawidłowe. Poprawka sprawdza bezpośrednio zwróconą stronę przed użyciem jej do mapowania IOMMU.
- CVE-2026-90387Wysokie
W jądrze Linux w swiotlb funkcja swiotlb_alloc_tlb() może alokować z atomowej puli DMA, gdy wymagana jest odszyfrowana pula z kontekstu atomowego. Z CONFIG_DMA_DIRECT_REMAP pula atomowa używa przemapowanych adresów wirtualnych, które różnią się od adresów direct-map. swiotlb_init_io_tlb_pool() rekonstruuje adres wirtualny z adresu fizycznego, co dla alokacji z puli atomowej zapisuje błędny adres w pool->vaddr, powodując późniejszy błąd w swiotlb_free_tlb().
- CVE-2026-90386Niskie ryzyko· EPSS 12%
W jądrze Linux w sterowniku i3c dw na pustej magistrali ENTDAA nie przypisuje żadnych urządzeń, więc cmd->rx_len równa się master->maxdevs. Indeks GENMASK() master->maxdevs - cmd->rx_len - 1 staje się -1, co powoduje przesunięcie poza zakres i zgłoszenie UBSAN. Problem występuje przy każdym rozruchu na serwerze Gigabyte/AMD.
- CVE-2026-90385Niskie ryzyko· EPSS 10%
W jądrze Linux w md/raid1 po dodaniu nowego rdev do istniejącej macierzy RAID1 z włączoną serialize_policy, warunek w mddev_create_serial_pool() pomija utworzenie rdev->serial. Funkcja wait_for_serialization() zakłada, że rdev->serial jest zainicjalizowany, co prowadzi do błędu Oops przy dostępie do niezainicjalizowanej struktury. Poprawka tworzy pulę serial przy dodawaniu rdev.
- CVE-2026-90384Niskie ryzyko· EPSS 11%
W jądrze Linux w mechanizmie iomap podczas operacji zerowania zakresu nie jest zwalniana partia folio (folio batch) w przypadku błędów w callbackach iomap_begin i iomap_end. Poprawka zapewnia wywołanie funkcji sprzątającej przy błędach i aktualizuje działanie tej funkcji.
- CVE-2026-90383Wysokie
W jądrze Linux w sterowniku sgi-gru usunięto niebezpieczne operacje na tablicach stron kontekstu procesu wykonywane w kontekście przerwań. Dotychczas obsługa błędów TLB chodziła po stronach bez odpowiednich blokad, co może prowadzić do wyścigów i problemów z bezpieczeństwem.
- CVE-2026-90382Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku mt76x02 usunięto ostrzeżenie WARN_ON_ONCE dla deskryptorów rx o nieprawidłowej długości. W trybie monitora z filtrem fcsfail uszkodzone ramki mogą powodować panikę jądra przy ustawieniu panic_on_warn.
- CVE-2026-90381Wysokie
W jądrze Linux w sterowniku mt76 poprawiono obsługę przełączania kontekstów kanałów w różnych pasmach w funkcji mt76_switch_vif_chanctx. Wcześniej krótkie przełączenia na różnych radiach mogły powodować nieprawidłowe działanie.
- CVE-2026-90380Wysokie
W jądrze Linux w sterowniku mt792x wykryto podatność use-after-free w funkcji mt76_rx_poll_complete. Z powodu wyścigu wskaźnik do wcid może wskazywać na już usuniętą strukturę STA, co prowadzi do nieprawidłowego dostępu do pamięci.
- CVE-2026-90378Niskie ryzyko· EPSS 11%
W ścieżce transmisji SDIO w sterowniku mt76 występuje wyciek pamięci. Gdy funkcja tx_prepare_skb() zwraca błąd, bufor skb nie jest zwalniany, co może prowadzić do wyczerpania pamięci. Dotyczy to przypadków, gdy odrzucane są ramki o zerowej długości (np. ramki WNM NULL), aby uniknąć zawieszenia sprzętu.
- CVE-2026-90377Niskie ryzyko· EPSS 10%
W obsłudze odbioru danych RRO 3.0 w sterowniku mt76 występuje błędne kolejkowanie. Ramki zwalniane z kolejki danych RRO powinny trafiać do kolejki wskaźników, ale są umieszczane w kolejce danych, co powoduje opóźnienia i przestawienie kolejności odbieranych pakietów.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

