Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90082Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik net: mana w funkcji mana_gd_query_max_resources() wylicza gc->num_msix_usable na podstawie resp.max_msix i liczby CPU, ale nie uwzględnia rozmiaru tablicy MSI-X urządzenia. Na maszynie z 1792 vCPU daje to 1793 wektory przy tablicy 1024 wpisów, co powoduje wyjście poza zmapowany region i błąd page fault.
- CVE-2026-90081Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja rds_cong_map_updated() w net/rds używa waitqueue_active() bez wymaganej bariery pamięci, co prowadzi do wzorca store-buffering. Aktualizujący może zaobserwować pustą kolejkę oczekujących, podczas gdy oczekujący wciąż widzi port jako zatłoczony, więc nie zostaje wysłane wybudzenie.
- CVE-2026-90080Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku octeontx2-pf występuje podatność polegająca na braku sprawdzenia wskaźnika af_xdp_zc_qidx przed użyciem go w funkcji test_bit(). Wskaźnik ten jest inicjowany tylko dla ścieżek AF_XDP zero-copy, a reprezentory i inne ścieżki pozostawiają go jako NULL, co prowadzi do błędu dereferencji NULL podczas przełączania trybu devlink eswitch.
- CVE-2026-90079Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku octeontx2-af występuje wyciek pamięci i błędy zwalniania zasobów przy wielokrotnym wywołaniu rvu_mbox_init(). Każde wywołanie alokowało nowy obiekt ng_rvu, nadpisując poprzedni wskaźnik, a ścieżki błędów zwalniały zasoby nieprawidłowo, pozostawiając pamięć skrzynek pocztowych w użyciu.
- CVE-2026-90078Niskie ryzyko· EPSS 10%
W jądrze Linux w module net/sched act_skbmod występują błędy obliczania długości nagłówków. Funkcja tcf_skbmod_act() wywołuje skb_network_header_len() bez gwarancji ustawienia transport_header oraz skb_mac_header_len() na urządzeniach L3, co powoduje ostrzeżenia i błędne odrzucanie prawidłowych krótkich pakietów.
- CVE-2026-90077Niskie ryzyko· EPSS 10%
W jądrze Linux w funkcji copy_net_ns() występuje wyciek zasobów w ścieżce obsługi błędów. Gdy preinit_net() zwróci błąd, kod przechodzi do etykiety dec_ucounts, pomijając zwolnienie zasobów zaalokowanych przez net_alloc(), takich jak key_remove_domain() i net_passive_dec().
- CVE-2026-90076Niskie ryzyko· EPSS 11%
W jądrze Linux w module net/sched fq występuje przepełnienie liczbowe przy obliczaniu quantum i initial_quantum. Urządzenie z ogromnym MTU powoduje, że psched_mtu() zwraca 0x80000000, a mnożenie przez 2 i 10 zawija się do zera, co prowadzi do nieskończonej pętli w fq_dequeue() i soft lockup.
- CVE-2026-90075Niskie ryzyko· EPSS 11%
W jądrze Linux w module net/sched fq_codel występuje brak ograniczenia wartości quantum i mtu. Urządzenie z ogromnym MTU powoduje przepełnienie signed flow->deficit do INT_MIN, co prowadzi do nieskończonej pętli i soft lockup, a także cichego wyłączenia mechanizmu CoDel.
- CVE-2026-90074Niskie ryzyko· EPSS 11%
W jądrze Linux w module net/sched fq_pie występuje brak ograniczenia domyślnej wartości quantum. Urządzenie z ogromnym MTU powoduje przepełnienie signed flow->deficit do INT_MIN w fq_pie_qdisc_dequeue(), co prowadzi do nieskończonej pętli i soft lockup.
- CVE-2026-90073Niskie ryzyko· EPSS 11%
W jądrze Linux w module net/sched hhf występuje brak sprawdzenia przepełnienia przy ustawianiu quantum. Urządzenie z ogromnym MTU powoduje przepełnienie signed deficit w hhf_dequeue(), co prowadzi do nieskończonej pętli, a także błędu -EINVAL przy dodawaniu qdisc z opcjami.
- CVE-2026-90072Niskie ryzyko· EPSS 11%
W jądrze Linux w module net/sched sfq występuje brak ograniczenia wartości quantum. Urządzenie z ogromnym MTU powoduje, że slot->allot przyjmuje wartość INT_MIN, a operacja INT_MIN + INT_MIN oscyluje między INT_MIN i 0, powodując nieskończoną pętlę w sfq_dequeue() i soft lockup.
- CVE-2026-90071Wysokie
W jądrze Linux w module net/sched: sch_teql występuje podatność polegająca na tym, że funkcja teql_master_xmit() ustawia skb->dev na urządzenie podrzędne (slave) przed wywołaniem ndo_start_xmit(), ale nie przywraca go po nieudanej transmisji. To powoduje, że pakiet z nieaktualnym wskaźnikiem skb->dev trafia do kolejki ARP, a po usunięciu urządzenia podrzędnego dochodzi do użycia po zwolnieniu (UAF).
- CVE-2026-90070Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja st33zp24_status() ignoruje wynik odczytu transportu i zwraca dane nawet gdy nie odebrano żadnego bajtu. W transporcie I2C, gdy zapis wyboru rejestru jest zbyt krótki lub kończy się niepowodzeniem, i2c_master_recv() jest pomijane, pozostawiając dane niezainicjalizowane. Wartość ze stosu może zostać zinterpretowana jako flagi TPM_STS i spowodować fałszywe zakończenie sprawdzania statusu.
- CVE-2026-90069Wysokie
W jądrze Linux makro ACOMP_REQUEST_ON_STACK() rezerwuje miejsce tylko na synchroniczny fallback. Gdy wybrana jest implementacja asynchroniczna, acomp_request_clone() kopiuje jedynie obiekt rozmiaru stosu, przez co klon nie ma miejsca na kontekst żądania dostawcy asynchronicznego. Dostawcy tacy jak QAT zapisują poza alokację przez acomp_request_ctx(), co KASAN zgłasza jako zapis poza zakresem (slab OOB write).
- CVE-2026-90068Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja snd_soc_dapm_put_enum_double() odrzuca item[0] gdy osiągnie e->items, ale pozwala item[1] być równym tej wartości. Oba trafiają do snd_soc_enum_item_to_val(), które indeksuje e->values bez własnego ograniczenia, więc enum z tabelą wartości odczytuje jeden element poza końcem. Problem dotyczy tylko adav80x, który łączy tabelę wartości z dwoma przesunięciami.
- CVE-2026-90066Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja ftrace_direct_multi_init() przypisuje wynik kthread_run() do simple_tsk bez sprawdzenia IS_ERR(). Gdy kthread_run() zawiedzie, zwraca ERR_PTR(-ENOMEM), ale init nadal zwraca 0, więc moduł ładuje się z simple_tsk wskazującym na wskaźnik błędu. Przy wyładowaniu ftrace_direct_multi_exit() przekazuje ten ERR_PTR do kthread_stop(), co prowadzi do dereferencji wskaźnika NULL.
- CVE-2026-90065Niskie ryzyko· EPSS 10%
W jądrze Linux gniazda IPPROTO_SMC tworzą wewnętrzne gniazdo TCP ("clcsock") w hooku proto->init. Gdy utworzenie gniazda zawiedzie po uruchomieniu proto->init — np. program cgroup BPF podpięty do BPF_CGROUP_INET_SOCK_CREATE odmówi — sk_common_release() wywołuje sk_prot->destroy tylko jeśli jest ustawione, ale ani smc_inet_prot ani smc_inet6_prot go nie definiuje, a smc_destruct() kończy się wcześnie. W rezultacie każde nieudane wywołanie socket(AF_INET, SOCK_STREAM, IPPROTO_SMC) wycieka jeden tcp_sock.
- CVE-2026-90064Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku drm/xe włączony scratch nie czyni VM zdolną do obsługi odzyskiwalnych błędów stron. Przepuszczanie VM ze scratch przez wyszukiwanie ASID dopuszcza również VM w trybie dma-fence. Jeśli taka VM zgłosi błąd na już prawidłowym VMA, handler raportuje sukces bez naprawy błędu, powodując nieskończone ponawianie przez GPU.
- CVE-2026-90063Niskie ryzyko· EPSS 11%
W jądrze Linux w virtio-net użytkownik może określić dowolny gso_size w pakiecie utworzonym przez gniazdo AF_PACKET PACKET_VNET_HDR, nawet mniejszy niż TCP_MIN_GSO_SIZE = 8. Ponieważ GSO_MAX_SIZE = 8 * GSO_MAX_SEGS = 8 * 65535, przy gso_size < 8 istnieje ryzyko przepełnienia 16-bitowego pola gso_segs przy dzieleniu długości SKB przez gso_size.
- CVE-2026-90062Wysokie
W jądrze Linux w netfilter nf_tables krok sprzętowego offloadu jest wykonywany przed zbudowaniem bloba łańcucha. Alokacja bloba łańcucha przed offloadem rulesetu zmniejsza ryzyko wejścia w niespójny stan, w którym offloadowany ruleset w karcie sieciowej różni się od rulesetu programowego.
- CVE-2026-90061Niskie ryzyko· EPSS 11%
W jądrze Linux w netfilter nf_tables zarówno ścieżka dynset, jak i newsetelem klonują istniejące wyrażenia zbioru przy ustawianiu wyrażeń elementów zbioru, jeśli nie podano wyrażeń nadpisujących. Powoduje to podwójne klonowanie. Poprawka dodaje flagę override_exprs do oznaczania wyrażeń nadpisujących i warunkowo zwalnia wyrażenia, co naprawia również niezrównoważenie licznika referencji modułu dla wyrażenia connlimit.
- CVE-2026-90060Niskie ryzyko· EPSS 9%
W jądrze Linuxa w warstwie ALSA control istnieje podatność na dereferencję wskaźnika NULL. Można utworzyć element sterujący tylko do zapisu, bez funkcji pobierania (get), co prowadzi do awarii jądra (Oops) podczas wywołania snd_ctl_led_notify().
- CVE-2026-90058Niskie ryzyko· EPSS 11%
Podatność w jądrze Linux w module net/sched pozwala na wywołanie miękkiego zawieszenia (soft lockup) poprzez spreparowaną tablicę rozmiaru pakietów (stab) w schedulerach DRR i ETS. Atakujący z uprawnieniami CAP_NET_ADMIN w przestrzeni nazw może wygenerować ogromną wartość qdisc_pkt_len (nawet ~1 GiB), co prowadzi do pętli w schedulerze i zawieszenia systemu.
- CVE-2026-90057Wysokie
W jądrze Linuxa w sterowniku slip istnieje podatność use-after-free w funkcji slip_receive_buf() podczas wyścigu z zawieszeniem linii TTY. Funkcja slip_hangup() jedynie wywołuje slip_close(), co prowadzi do równoległego dostępu do zwolnionej pamięci.
- CVE-2026-90056Niskie ryzyko· EPSS 11%
W jądrze Linuxa w sterowniku FEC (Fast Ethernet Controller) funkcja fec_ptp_stop() jest wywoływana bezwarunkowo na ścieżkach nieudanego inicjalizowania i odinstalowania, mimo że fec_ptp_init() jest wywoływana tylko gdy bufdesc_ex jest dostępny. Może to zatrzymać niezinicjalizowany PTP.
- CVE-2026-90055Niskie ryzyko· EPSS 11%
W jądrze Linux w module usbatm (USB ATM) wykryto błąd inicjalizacji pola ci_range, w którym vpi_bits i vci_bits ustawiano na wartość ATM_CI_MAX (-1). Wartości te są używane jako liczniki przesunięć bitowych w net/atm/common.c, co powoduje niezdefiniowane zachowanie (shift-out-of-bounds) i ostrzeżenia UBSAN. Problem został naprawiony poprzez ustawienie vpi_bits na 8 i vci_bits na 16.
- CVE-2026-90054Niskie ryzyko· EPSS 11%
W jądrze Linuxa w protokole TCP występuje uszkodzenie danych pilnych (urgent data) podczas retransmisji wielosesyjnej. Na ścieżce retransmisji nie ma zabezpieczenia przed tworzeniem wielu segmentów, co powoduje błędne kopiowanie wskaźnika urg_ptr i odbiorca traktuje zwykłe dane jako pilne.
- CVE-2026-90053Niskie ryzyko· EPSS 11%
W jądrze Linux w funkcji htb_classify() (moduł net/sched/sch_htb) nie ograniczano liczby przeskoków między klasami wewnętrznymi HTB wybieranymi przez filtry. Filtr na klasie wewnętrznej może wskazywać na siebie samą lub tworzyć cykl, co prowadzi do nieskończonej pętli w ścieżce klasyfikacji pakietów z trzymaną blokadą qdisc i wyłączonym BH — pojedynczy pakiet powoduje soft lockup lub panikę jądra. Problem naprawiono, wprowadzając licznik przeskoków ograniczony do TC_HTB_MAXDEPTH i odrzucanie pakietu z ostrzeżeniem po przekroczeniu limitu.
- CVE-2026-90051Wysokie
W jądrze Linuxa w protokole TCP brakuje wymuszenia trybu zerokopiowego dla devmem TX. Gdy funkcja NETIF_F_SG nie jest ustawiona, możliwa jest próba kopiowania danych z nieprawidłowym iovec, co może prowadzić do błędów lub naruszenia niezmienników.
- CVE-2026-90046Wysokie
W jądrze Linux w funkcji free_pages_nolock() na systemach jednoprocesorowych (UP) użyto spin_trylock() w kontekście NMI, co jest niebezpieczne. Błąd dotyczy ścieżki zwalniania stron i może prowadzić do awarii jądra. Podatność może być wykorzystana przez lokalnego atakującego do eskalacji uprawnień.
- CVE-2026-90045Wysokie
W jądrze Linux w sterowniku USB gadget ffs struktura io_data przechowuje wskaźnik do mm_struct zadania, ale nie utrzymuje referencji podczas oczekujących żądań asynchronicznych. Może to prowadzić do użycia po zwolnieniu (use-after-free), jeśli zadanie zakończy się przed obsługą ukończenia. Poprawka polega na pobraniu referencji przez mmgrab() przy kolejkowaniu i zwolnieniu przez mmdrop() przy ukończeniu.
- CVE-2026-90044Wysokie
W jądrze Linux w sterowniku USB gadget f_fs występuje use-after-free w ścieżce błędu AIO. Gdy ffs_epfile_io() zwróci błąd inny niż -EIOCBQUEUED, struktura io_data jest zwalniana, ale funkcja anulowania kiocb pozostaje uzbrojona i wskazuje na zwolniony wskaźnik. Równoległe anulowanie (np. sys_io_cancel()) może spowodować użycie po zwolnieniu. Poprawka polega na bezpiecznym rozbrojeniu anulowania przez kiocb->ki_complete() i zwróceniu -EIOCBQUEUED.
- CVE-2026-90043Wysokie
W jądrze Linux w module zram bit blokady slotu jest ustawiany w niewłaściwej pozycji na systemach 64-bitowych big-endian. Zamiast w polu flags trafia w pole ac_time, co przy włączonym ZRAM_TRACK_ENTRY_ACTIME powoduje kasowanie blokady i pozwala innemu CPU przejąć ten sam slot. Wartość czasu dostępu z ustawionym bitem może sprawić, że slot pozostanie zablokowany na zawsze. Poprawka przenosi bit blokady do połowy flags na big-endian 64-bit.
- CVE-2026-90041Wysokie
W jądrze Linux sterownik HID sony nie usuwa kontrolera z listy urządzeń, gdy rejestracja urządzenia wejściowego w HID core zakończy się niepowodzeniem. Struktura sony_sc jest zwalniana przez devres, ale jej węzeł listy pozostaje podłączony, co prowadzi do użycia zwolnionej pamięci przy obsłudze kolejnego kontrolera.
- CVE-2026-90039Niskie ryzyko· EPSS 8%
W jądrze Linux funkcje NFSD odwołujące stan administracyjny (unlock_filesystem, NFSD_CMD_UNLOCK_FILESYSTEM, NFSD_CMD_UNLOCK_EXPORT) sprawdzają tylko nn->nfsd_serv, który jest ustawiany przed alokacją tablicy nn->conf_id_hashtbl. Prowadzi to do dereferencji NULL, gdy serwer nie został jeszcze uruchomiony.
- CVE-2026-90035Niskie ryzyko· EPSS 8%
W jądrze Linux funkcja get_estimated_bw() w sterowniku drm/amd/display dzieli przez bw_granularity, które jest zerowane i wypełniane dopiero po obsłużeniu DP_TUNNELING_BW_ALLOC_CAP_CHANGED. Jeśli urządzenie USB4/DPIA zgłosi zmianę szacowanej przepustowości przed zmianą możliwości, w obsłudze przerwania DPCD dochodzi do dzielenia przez zero.
- CVE-2026-90034Niskie ryzyko· EPSS 9%
W jądrze Linux sterownik usb image mdc800 używa kmalloc() do buforów irq_urb_buffer i download_urb_buffer w usb_mdc800_init(). Przy krótszej wiadomości w mdc800_usb_irq() lub mdc800_usb_download_notify() może dojść do wycieku danych ze stosu.
- CVE-2026-90033Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja snd_usbmidi_us122l_output() w ALSA usb-audio wybiera rozmiar 2 dla prędkości niższej niż high speed, nie odnosząc go do ep->max_transfer. Przy urządzeniu z jednobajtowym endpointem bulk memset oblicza 1 - 2 w int i zawija do SIZE_MAX, powodując zapis poza buforem.
- CVE-2026-90024Niskie ryzyko· EPSS 9%
W jądrze Linux występuje podatność polegająca na dereferencji wskaźnika NULL w funkcji f_midi2_free_ep_reqs() w module USB gadget MIDI 2.0. Gdy konfiguruje się gadget MIDI 2.0 przez configfs z kierunkiem bloku ustawionym na SNDRV_UMP_DIR_INPUT, endpoint midi1_ep_out nie jest inicjalizowany, a jego pole usb_ep->card pozostaje NULL. Późniejsza zmiana alternate setting przez hosta powoduje wywołanie f_midi2_free_ep_reqs() dla niezainicjalizowanego endpointu i crash jądra.
- CVE-2026-90022Wysokie
W jądrze Linux w funkcji f_midi2_opts_str_show() sterownika USB gadget występuje use-after-free. Wywołujący odczytują wskaźnik opts->info.<pole> przed założeniem blokady, co wyściguje się z f_midi2_opts_str_store(), która zwalnia stary łańcuch pod blokadą. Współbieżny zapis atrybutu może spowodować odczyt zwolnionego wskaźnika.
- CVE-2026-90021Niskie ryzyko· EPSS 11%
W jądrze Linux w f_midi_alloc() struktura work nie jest inicjalizowana, jeśli f_midi_bind() nigdy nie zostanie wywołane. Wówczas warunek w f_midi_free staje się prawdziwy, co prowadzi do ostrzeżenia w __flush_work z powodu work->func = 0. Poprawka przenosi INIT_WORK z f_midi_bind() do f_midi_alloc().
- CVE-2026-90020Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja gadget_dev_ioctl() odczytuje dev->gadget przed założeniem blokady dev->lock, a stan dev->state sprawdza po jej założeniu. Współbieżne bind może zmienić stan urządzenia, pozostawiając nieaktualny wskaźnik NULL gadget i powodując dereferencję NULL w gadget->ops->ioctl.
- CVE-2026-90019Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja usb_put_function_instance() próbuje dereferencjonować fd wewnątrz struktury fi w ścieżce błędu uvc_alloc_inst(). Jednak fd nie jest alokowane aż do późniejszego try_get_usb_function_instance(), więc w ścieżce błędu jest zawsze NULL. Poprawka dodaje sprawdzenie NULL dla fi->fd.
- CVE-2026-90017Wysokie
W jądrze Linux w sterowniku staging rtl8723bs funkcja rtw_action_frame_parse() nie sprawdza parametru frame_len przed indeksowaniem ciała ramki. Odczyt frame_body[0] i frame_body[1] wymaga frame_len >= 26, więc krótsza ramka (np. 24 bajty) powoduje odczyt poza zakresem o 1-2 bajty. Jest to osiągalne z rtw_cfg80211_monitor_if_xmit_entry() i cfg80211_rtw_mgmt_tx().
- CVE-2026-90016Wysokie
W jądrze Linux w sterowniku staging rtl8723bs funkcja rtw_restruct_wmm_ie() skanuje bufor in_ie w poszukiwaniu WMM IE. Gdy sprawdzenie 'i + 5 < in_len' zawiedzie blisko końca bufora, wykonanie przechodzi do 'i += (in_ie[i + 1] + 2)', co przy i == in_len - 1 powoduje odczyt poza zakresem o 1 bajt. Poprzednia poprawka dodała zabezpieczenie tylko do warunku dopasowania, nie do przesunięcia.
- CVE-2026-90014Wysokie
W jądrze Linux nowe pliki show_event_filters i show_event_triggers nie pobierają referencji do trace_array, który wyświetlają. Bez tej referencji trace_array może zostać zwolniony przez 'rmdir' podczas odczytu pliku, co powoduje use-after-free. Poprawka sprawia, że otwarcie obu plików pobiera referencję przez trace_array_get().
- CVE-2026-90013Wysokie
W jądrze Linux wykryto podatność use-after-free w mechanizmie tracingu. Otwarcie pliku opcji nie zwiększało referencji do struktury trace_array, co mogło prowadzić do użycia zwolnionej pamięci, gdy jeden proces otwierał plik, a inny usuwał instancję. Problem rozwiązano przez dodanie funkcji trace_array_options_get(), która zwiększa referencję przed użyciem.
- CVE-2026-90010Wysokie
W jądrze Linux w podsystemie scsi bsg funkcja ukończenia kopiuje scmd->sense_len do bufora odpowiedzi użytkownika bez uwzględnienia max_response_len. Po prawidłowym sense midlayer ustawia sense_len na rzeczywistą długość (do SCSI_SENSE_BUFFERSIZE), co powoduje przepełnienie mniejszego bufora użytkownika.
- CVE-2026-90009Wysokie
W jądrze Linux w podsystemie scsi bsg funkcja scsi_bsg_uring_cmd() odczytuje bsg_uring_cmd ze współdzielonego mmap'd SQE, co pozwala użytkownikowi zmienić pole między sprawdzeniem a użyciem (TOCTOU). request_len może wzrosnąć poza sizeof(scmd->cmnd) po sprawdzeniu granic i przepełnić scmd->cmnd w copy_from_user().
- CVE-2026-90007Wysokie
W jądrze Linux w sterowniku scsi pm8001 funkcja pm8001_request_msix() przy niepowodzeniu request_irq() używa indeksu i zamiast j w pętli wycofywania, co powoduje przekazanie błędnej pary IRQ/dev_id do free_irq(). Wcześniej zarejestrowane handlery pozostają zainstalowane.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

