Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90145Wysokie
W sterowniku sieciowym hinic3 w jądrze Linux naprawiono problem związany z linearyzacją skb i brakiem sprawdzania błędów w funkcji skb_checksum_help(). Błąd mógł prowadzić do odczytu poza obszar pamięci podczas operacji DMA lub błędów IOMMU, a także do wysyłania uszkodzonych pakietów z niekompletnymi sumami kontrolnymi.
- CVE-2026-90143Wysokie
W jądrze Linux w module KCM (Kernel Connection Multiplexer) brakowało ochrony RCU podczas uruchamiania programu BPF w parserze strparser, co mogło powodować ostrzeżenia jądra przy operacjach na mapach BPF. Poprawka polega na trzymaniu blokady RCU podczas wykonania programu.
- CVE-2026-90142Wysokie
W sterowniku virtio_net jądra Linux naprawiono błąd zmiany rozmiaru pierścienia RX w obecności gniazda AF_XDP, który powodował zapis poza koniec tablicy xsk_buffs, gdy rozmiar się zwiększał. Poprawka zapewnia odpowiednie przeskalowanie tablicy.
- CVE-2026-90141Wysokie
W jądrze Linux w module IPVS (IP Virtual Server) naprawiono przepełnienie liczby całkowitej w funkcji parsującej odpowiedzi FTP PASV/EPSV, które mogło prowadzić do zawinięcia wartości i użycia błędnego portu/adresu w połączeniu danych. Poprawka poszerza typ zmiennej na u32 i odrzuca wartości powyżej dozwolonych limitów.
- CVE-2026-90140Niskie ryzyko· EPSS 10%
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-90139Niskie ryzyko· EPSS 11%
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-90138Niskie ryzyko· EPSS 11%
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-90137Wysokie
W jądrze Linux w module hp-bioscfg (platform/x86) naprawiono brak sprawdzania granic przy parsowaniu kodowań haseł z pakietów ACPI, co mogło prowadzić do odczytu poza tablicą i przekazania nieprawidłowego wskaźnika do funkcji hp_convert_hexstr_to_str().
- CVE-2026-90136Niskie ryzyko· EPSS 10%
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-90135Niskie ryzyko· EPSS 10%
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-90134Niskie ryzyko· EPSS 9%
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-90133Wysokie
W jądrze Linux w funkcji ntfs_ir_to_ib() występuje błąd zapisu poza granicami bufora sterty (heap OOB write). Funkcja kopiuje wpisy z index_root do nowo przydzielonego bufora o rozmiarze index_block_size bez sprawdzenia, czy wpisy mieszczą się w dostępnej przestrzeni. Brak kontroli granic przed memcpy pozwala na zapis poza zaalokowanym obszarem.
- CVE-2026-90132Wysokie
W jądrze Linux w systemie plików NTFS nie odrzucano zapisu setxattr do zarezerwowanych atrybutów rozszerzonych $LXUID, $LXGID, $LXMOD i $LXDEV z przestrzeni użytkownika. Poprawka wymaga uprawnienia CAP_SYS_ADMIN do modyfikacji tych atrybutów.
- CVE-2026-90130Niskie ryzyko· EPSS 9%
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-90129Niskie ryzyko· EPSS 11%
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-90128Niskie ryzyko· EPSS 11%
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-90127Niskie ryzyko· EPSS 10%
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-90126Niskie ryzyko· EPSS 11%
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-90125Niskie ryzyko· EPSS 10%
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-90124Niskie ryzyko· EPSS 10%
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.
- CVE-2026-90123Niskie ryzyko· EPSS 9%
W jądrze Linux callback irq_domain_activate() dla irqchip ast2700-intc wywołuje fwnode_device_is_compatible(), która alokuje pamięć z GFP_KERNEL. Dzieje się to przy wyłączonych przerwaniach i trzymanej surowej blokadzie spinlock, co jest niedozwolone i może prowadzić do problemów z alokacją.
- CVE-2026-90122Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja visconti_clk_register_gate() wypełnia init.parent_data, zakładając, że init.parent_names jest NULL, ale to pole pozostaje niezainicjalizowane. Może to powodować subtelne błędy, a nawet awarię, zwłaszcza przy włączonych opcjach CONFIG_INIT_STACK_ALL_PATTERN lub CONFIG_INIT_STACK_NONE.
- CVE-2026-90121Niskie ryzyko· EPSS 10%
W jądrze Linux konfiguracja powinowactwa IRS w irqchip gic-v5 publikuje wskaźnik IRS i stan IAFFID w danych per-CPU, zanim dalsza inicjalizacja IRS może się nie powieść. Ścieżka błędu zwalnia dane IRS bez wyczyszczenia opublikowanego stanu, pozostawiając procesory powiązane ze zwolnioną pamięcią.
- CVE-2026-90120Wysokie
W jądrze Linux funkcja gic_acpi_parse_iaffid() nie sprawdza wartości zwracanej przez get_logical_index(), która może wskazywać błąd, gdy wpis MADT GICC nie odpowiada rozpoznanemu procesorowi logicznemu. Może to prowadzić do indeksowania tablicy per_cpu poza zakresem i uszkodzenia pamięci.
- CVE-2026-90119Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja snd_ice1712_probe() wykonuje wiele kroków inicjalizacji po snd_card_new(), ale przy błędach późniejszych kroków zwraca błąd bez zwolnienia karty ALSA. Powoduje to wyciek zasobów, gdy sondowanie się nie powiedzie.
- CVE-2026-90118Wysokie
W jądrze Linux funkcja ntfs_decompress() zawiera błąd o jeden w sprawdzaniu zakresu, gdzie dp_addr == dp_sb_end przechodzi do kopiowania symbolu i zapisuje jeden bajt poza stroną docelową. Uszkodzony atrybut $DATA może wywołać serię zapisów poza zakresem podczas odczytu pliku.
- CVE-2026-90117Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja ntfs_mft_record_alloc() odczytuje numer sekwencji aktualizacji z niezwalidowanego rekordu MFT, używając niezaufanego pola usa_ofs. Uszkodzony rekord może spowodować, że odczyt dwóch bajtów wykroczy poza folio, prowadząc do użycia po zwolnieniu (use-after-free).
- CVE-2026-90106Niskie ryzyko· EPSS 11%
W jądrze Linux w module mostu sieciowego (bridge) występuje błąd w obsłudze proxy ARP/ND polegający na bezpośrednim odczycie adresu neigh ha. Może to prowadzić do częściowych lub niespójnych odczytów, gdy wpis neigh jest w trakcie aktualizacji. Problem rozwiązano poprzez użycie funkcji neigh_ha_snapshot do stabilnego pobrania adresu.
- CVE-2026-90105Niskie ryzyko· EPSS 11%
W jądrze Linux w module vxlan występuje błąd polegający na bezpośrednim odczycie adresu neigh ha przez funkcje arp/neigh_reduce. Może to prowadzić do częściowych odczytów podczas aktualizacji wpisu neigh. Problem rozwiązano stosując neigh_ha_snapshot, podobnie jak w route_shortcircuit.
- CVE-2026-90103Wysokie
W jądrze Linux w implementacji NFSv4.2 występuje błąd wyczerpania bufora wysyłania LAYOUTSTATS. Makro encode_layoutstats_maxsz rezerwuje 256 bajtów, ale rekord flexfiles może tę wartość przekroczyć, ponieważ serwer kontroluje długość uchwytu pliku i adresu. Może to doprowadzić do przekroczenia bufora i trwałego zablokowania mutexa, gdy xdr_reserve_space() zwróci NULL.
- CVE-2026-90102Wysokie
W jądrze Linux w implementacji NFSv4/pnfs występuje błąd polegający na kluczowaniu pamięci podręcznej serwera danych wyłącznie na podstawie zestawu adresów multipath, bez uwzględnienia wersji NFS. Gdy dwa deviceidy na tym samym adresie mają różne wersje, współdzielą jeden nfs4_pnfs_ds, a pierwszy łączący się mirror przypisuje ds_clp do swojej wersji. Drugi mirror otrzymuje ten klient i wybiera rpc_call_ops dla nieobsługiwanej wersji, co prowadzi do dereferencji NULL.
- CVE-2026-90101Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku bnxt_en występuje błąd polegający na przekazaniu urządzenia platformowego zamiast urządzenia monitoringu sprzętowego jako pierwszego parametru do hwmon_notify_event(). To złamanie API powoduje niezdefiniowane zachowanie i może prowadzić do awarii.
- CVE-2026-90100Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku ptp netc występuje błąd obcięcia okresu i potencjalnego dzielenia przez zero w PEROUT. Wartość max_period przekracza U32_MAX, co powoduje ciche obcięcie period_ns do zera i dzielenie przez zero w roundup_u64(). Dodatkowo zerowa wartość pp->period powoduje zawinięcie unsigned do 0xFFFFFFFD i błędne zaprogramowanie rejestru FIPER.
- CVE-2026-90099Niskie ryzyko· EPSS 11%
Podatność w jądrze Linux w mechanizmie klasyfikatorów net/sched pozwala nieuprzywilejowanym użytkownikom na przypięcie pamięci jądra poza kontrolą memcg, poprzez użycie alokacji GFP_KERNEL bez __GFP_ACCOUNT w ścieżkach *_change() klasyfikatorów, a także w tablicy akcji tcf_exts_init_ex(). Dodatkowo występuje błąd w ścieżce błędów cls_basic, który pozostawia wiszący wskaźnik w IDR.
- CVE-2026-90098Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku sparx5 występuje błąd polegający na usypianiu w kontekście atomowym podczas dostępu do tablicy MAC. Funkcja sparx5_set_rx_mode() działa z założonym netif_addr_lock_bh i iteruje po dev->mc, co prowadzi do zajęcia mutexa sparx5->lock i odpytywania rejestru w kontekście atomowym, co jest niedozwolone. Rozwiązaniem jest konwersja sterownika na nowe wywołanie zwrotne .ndo_set_rx_mode_async.
- CVE-2026-90097Niskie ryzyko· EPSS 11%
W jądrze Linux w module hv vmbus występuje błąd polegający na próbie czyszczenia niezainicjalizowanego modułu VMBus w przypadku głównej partycji niezanurzonej. Funkcja hv_acpi_init() nic nie robi w takim scenariuszu, ale zgłasza sukces, więc moduł jest ładowany. Późniejsze wyładowanie modułu próbuje posprzątać niezainicjalizowane zasoby, co prowadzi do błędów pamięci i paniki.
- CVE-2026-90096Niskie ryzyko· EPSS 9%
W jądrze Linux w systemie plików FUSE wykryto podatność związaną z zapisem bezpośrednim z flagą O_APPEND. Funkcja fuse_direct_write_iter() używała nieaktualnej pozycji przed sprawdzeniem zapisu, co powodowało unieważnianie błędnego zakresu stron po zapisie. Może to prowadzić do niespójności danych, gdy rozmiar pliku nie jest wyrównany do rozmiaru strony.
- CVE-2026-90095Niskie ryzyko· EPSS 10%
W jądrze Linuxa naprawiono warunek umożliwiający użycie over-io-uring w FUSE. Funkcja fuse_uring_cmd() wymaga teraz ustawienia flagi FUSE_OVER_IO_URING w odpowiedzi FUSE_INIT, aby zaakceptować polecenie IORING_OP_URING_CMD. Bez tej flagi istnieje ryzyko zakleszczenia (deadlock) w przypadku próby użycia io-uring. Zmiana jest trywialna, ale zmienia zachowanie: serwery FUSE muszą ustawić tę flagę, aby obsługiwać io-uring.
- CVE-2026-90094Niskie ryzyko· EPSS 10%
W jądrze Linuxa naprawiono błąd w zarządzaniu kontekstem dla procesów ARM64 związany z trybem Memory Tagging Extension (MTE) typu store-only. Bit SCTLR_EL1.TCSO0 nie był uwzględniany w masce SCTLR_USER_MASK, co powodowało, że po przełączeniu kontekstu ustawienie to nie było kasowane i mogło być dziedziczone przez inny zadanie. Poprawka dodaje SCTLR_EL1_TCSO0_MASK do SCTLR_USER_MASK, aby zapewnić poprawne kasowanie podczas przełączania.
- CVE-2026-90093Wysokie
W jądrze Linuxa naprawiono problem z bezpiecznym dostępem do pola chan->conn w funkcjach getsockopt/setsockopt dla Bluetooth L2CAP. Po zmianie wcześniejszej, chan->conn zachowuje referencję i pozostaje nie-NULL nawet po usunięciu skojarzonego hci_conn, ale dostęp do jego pól (np. hdev) jest nieprawidłowy i prowadzi do błędu zgłaszanego przez KASAN. Poprawka dodaje sprawdzenie, czy hci_conn jest nadal aktywny, oraz blokadę l2cap_chan_lock() w celu uniknięcia wyścigów.
- CVE-2026-90092Wysokie
W jądrze Linuxa naprawiono problem w Bluetooth L2CAP polegający na możliwości dodania nowego gniazda do kolejki akceptacji rodzica po zakończeniu działania l2cap_sock_cleanup_listen() i ustawieniu stanu BT_CLOSED, co mogło prowadzić do użycia po zwolnieniu (UAF). Poprawka polega na dodaniu sprawdzenia stanu sk_state == BT_LISTEN po uzyskaniu blokady sk w funkcji l2cap_sock_new_connection_cb() oraz dalszym zabezpieczeniu przed wyścigami.
- CVE-2026-90091Wysokie
W jądrze Linux występuje wyścig (race condition) w podsystemie Bluetooth L2CAP pomiędzy funkcjami l2cap_sock_cleanup_listen() a l2cap_sock_put_chan(). Niezsynchronizowany odczyt wskaźnika l2cap_pi(sk)->chan może zwrócić wartość NULL, co prowadzi do dereferencji wskaźnika NULL (null-ptr-deref) i awarii jądra. Problem został rozwiązany poprzez zastosowanie blokady lock_sock() w l2cap_sock_kill().
- CVE-2026-90090Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik Bluetooth btmtksdio w ścieżce nadawania (TX) zaokrągla rozmiar transferu do rozmiaru bloku SDIO (256 bajtów), ale przekazuje kontrolerowi bufor SKB bez wypełnienia. Kontroler odczytuje w ten sposób do 255 bajtów niezainicjowanej pamięci, a odczyt może wykroczyć poza koniec bufora.
- CVE-2026-90089Wysokie
W jądrze Linux sterownik Bluetooth btnxpuart w funkcji nxp_process_fw_dump() odczytuje pola seq_num i buf_len ze struktury nagłówka zrzutu firmware umieszczonej pod skb->data, nie sprawdzając, czy ładunek ACL jest wystarczająco długi. Krótka ramka z uchwytem połączenia 0xfff powoduje odczyt poza odebranymi danymi, a wartość buf_len równa zero może przedwcześnie zakończyć zrzut i zresetować kontroler.
- CVE-2026-90088Niskie ryzyko· EPSS 11%
W jądrze Linux w implementacji Bluetooth RFCOMM funkcja rfcomm_apply_pn() przyjmuje wartość MTU z ramki negocjacji parametrów (PN) bez sprawdzenia zera. Gdy zdalny peer wyśle MTU równe zero, d->mtu zostaje ustawione na 0, co powoduje nieskończoną pętlę przy fragmentacji danych i wyczerpanie pamięci systemowej.
- CVE-2026-90087Niskie ryzyko· EPSS 11%
W jądrze Linux występuje wyciek struktury hci_conn, gdy drugie połączenie LE zostanie odrzucone. Funkcja create_le_conn_complete() błędnie porównuje nieudane połączenie z hci_lookup_le_connect(), co przy dwóch jednocześnie oczekujących połączeniach powoduje pominięcie wywołania hci_conn_failed() i pozostawienie połączenia w stanie BT_CONNECT na stałe. W efekcie wszystkie kolejne próby nawiązania połączenia LE kończą się błędem -EBUSY i wymagają resetu adaptera.
- CVE-2026-90086Niskie ryzyko· EPSS 10%
W jądrze Linux ścieżka zero-copy podsystemu xsk odczytuje metadane TX zawsze, gdy UMEM ma przestrzeń na metadane, nawet jeśli deskryptor nie ustawia flagi XDP_TX_METADATA. Poprawka przekazuje opcje deskryptora przez helpery metadanych i ignoruje metadane, gdy opcja nie jest ustawiona.
- CVE-2026-90085Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik octeontx2-af w funkcji rvu_dbg_nix_tm_tree_display() odwołuje się do pfvf->sq_ctx bez sprawdzenia, czy kontekst SQ został przydzielony. Odczyt pliku /sys/kernel/debug/octeontx2/nix/tm_tree dla NIX LF bez skonfigurowanych kolejek nadawczych powoduje oops jądra.
- CVE-2026-90084Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik octeontx2-vf ma wyścig między kolejką roboczą a urządzeniem sieciowym w ścieżkach probe/remove. Kolejka robocza VF nie jest inicjalizowana przed register_netdev(), więc ndo_set_rx_mode może zakolejkować pracę na NULL, a kolejka jest niszczona przed wyrejestrowaniem netdev.
- CVE-2026-90083Niskie ryzyko· EPSS 11%
W jądrze Linuxa wykryto podatność w module act_ife (net/sched), która powoduje panikę jądra (skb_under_panic) przy przetwarzaniu ramek niepochodzących z Ethernetu. Problem wynika z użycia skb->dev->hard_header_len zamiast ETH_HLEN, co prowadzi do błędnych operacji na buforze skb. Poprawka ogranicza działanie IFE wyłącznie do ramek Ethernetowych i wymusza odpowiednią długość nagłówka.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

