Podatności Linux kernel
10 406 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-97970Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku watchdog msc313e występuje podatność dzielenia przez zero. Funkcja clk_get_rate() może zwrócić 0, co prowadzi do dzielenia przez zero i paniki systemu. Poprawka dodaje sprawdzenie, aby uniknąć dzielenia przez zero.
- CVE-2026-97969Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku watchdog msc313e występują dwa poważne błędy w funkcji settimeout(): wyciek zegara i nieoczekiwane uruchomienie timera. Funkcja msc313e_wdt_settimeout() bezwarunkowo wywołuje msc313e_wdt_start(), co powoduje zwiększenie licznika referencji zegara, gdy watchdog jest już aktywny, oraz uruchomienie timera, gdy watchdog jest zatrzymany. Poprawka wydziela logikę zapisu rejestrów do funkcji pomocniczej i wywołuje ją tylko wtedy, gdy watchdog działa.
- CVE-2026-97968Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku hwmon corsair-cpro debugfs wpisy były tworzone przed rejestracją urządzenia hwmon. Jeśli rejestracja się nie powiodła, wpisy pozostawały, a po zwolnieniu pamięci przez HID core odczyt jednego z nich prowadził do dereferencji zwolnionego wskaźnika. Poprawka przenosi tworzenie wpisów debugfs po rejestracji urządzenia hwmon.
- CVE-2026-97967Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku hwmon corsair-cpro, gdy rejestracja urządzenia hwmon nie powiodła się, wpisy debugfs nie były usuwane, co prowadziło do użycia po zwolnieniu przy ich odczycie. Poprawka dodaje usuwanie wpisów debugfs na ścieżce błędu.
- CVE-2026-97966Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku octeontx2-pf, podczas usuwania hierarchii HTB, kolejki schedulerów były zwalniane bez wyczyszczenia ustawień TOPOLOGY, co mogło wpływać na późniejsze alokacje. Poprawka dodaje funkcje resetujące TOPOLOGY przed zwróceniem kolejek do AF.
- CVE-2026-97965Niskie ryzyko· EPSS 6%
W jądrze Linux w funkcji vxlan_xmit_one() sterownika VXLAN występuje niezainicjalizowana zmienna stosowa _md, gdy urządzenie VXLAN ma włączone flagi VXLAN_F_COLLECT_METADATA i VXLAN_F_GBP, a przesyłany pakiet nie zawiera flagi IP_TUNNEL_VXLAN_OPT_BIT. Prowadzi to do odczytu śmieci ze stosu, co może skutkować przypadkowym ustawieniem flag w nagłówku VXLAN oraz wyciekiem 16 bitów niezainicjalizowanych danych jądra do sieci.
- CVE-2026-97964Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku ppp_synctty, funkcja ppp_sync_txmunge() nie zapewniała, że nagłówek skb jest zapisywalny, co mogło prowadzić do nadpisania danych widocznych dla innych gniazd. Poprawka używa skb_cow_head() do zapewnienia zapisywalnego nagłówka.
- CVE-2026-97963Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku net: stmmac, blokada ptp_lock była inicjalizowana tylko podczas rejestracji PTP, ale używana również gdy interfejs jest wyłączony, co prowadziło do niezdefiniowanego zachowania. Poprawka przenosi inicjalizację do __stmmac_dvr_probe().
- CVE-2026-97962Niskie ryzyko· EPSS 5%
W jądrze Linux w sterowniku net/mlx5e, reporter zdrowia vnic dla reprezentantów był tworzony i niszczony w ścieżce (un)load netdev, co nie było serializowane przez blokadę devlink, powodując ostrzeżenie przy unbind. Poprawka przenosi cykl życia reportera do portu eswitch devlink.
- CVE-2026-97961Niskie ryzyko· EPSS 6%
W jądrze Linux w perf/core, możliwe jest uszkodzenie listy sched_cb_list podczas przetwarzania przepełnienia zdarzenia, gdy PMU wywołuje perf_sched_cb_dec() w trakcie iteracji. Poprawka zmienia for_each_list_entry() na for_each_list_entry_safe().
- CVE-2026-97960Niskie ryzyko· EPSS 5%
W jądrze Linux w perf/x86/intel, funkcja drain_pebs() może być ponownie wywołana, co prowadzi do dostępu do nieprawidłowej pamięci. Poprawka dodaje wyłączenie całego PMU wokół wywołania intel_pmu_drain_pebs_buffer() oraz ostrzeżenie, gdy PMU nie jest wyłączony.
- CVE-2026-97959Niskie ryzyko· EPSS 7%
W jądrze Linux w module net/sched: cls_route występuje wyciek pamięci. Gdy istniejący filtr route4 jest przenoszony do innego koszyka (bucket), stary, opróżniony koszyk nie jest zwalniany i pozostaje w tablicy head->table[], co uniemożliwia poprawne usunięcie filtra i powoduje wyciek pustego obiektu tcf_proto.
- CVE-2026-97958Niskie ryzyko· EPSS 7%
W jądrze Linux naprawiono podatność w net/sched: cls_api. Gdy gniazdo netlink wysyła wielokrotnie żądania RTM_GETCHAIN bez odbierania odpowiedzi, funkcja tc_ctl_chain() zapętla się i zużywa CPU, co prowadzi do zawieszenia zadań (Hung Task). Problem dotyczył niepotrzebnego powtarzania logiki replay dla RTM_GETCHAIN.
- CVE-2026-97957Wysokie
W jądrze Linux w sterowniku hinic występuje przepełnienie bufora sterty w funkcji sprawdzającej segmenty skrzynki pocztowej. Ostatni segment może przenosić pełny 48-bajtowy ładunek, co powoduje zapis poza 2048-bajtowy bufor odbiorczy o 16 bajtów. Poprawka ogranicza długość ostatniego segmentu do pozostałego miejsca w buforze.
- CVE-2026-97956Niskie ryzyko· EPSS 5%
W jądrze Linux w sterowniku net_failover występuje zakleszczenie w funkcji net_failover_slave_name_change(). Użycie dev_open() zamiast netif_open() prowadzi do zakleszczenia na mutexie. Poprawka zmienia wywołanie na netif_open(), aby uniknąć zakleszczenia.
- CVE-2026-97955Niskie ryzyko· EPSS 5%
W jądrze Linux w sterowniku mana występuje problem z wskaźnikiem programu XDP. Gdy prealokacja buforów RX nie powiedzie się, funkcja mana_xdp_set() zwraca błąd bez przywrócenia poprzedniego wskaźnika, co prowadzi do użycia po zwolnieniu. Poprawka przywraca poprzedni program na ścieżce błędu.
- CVE-2026-97954Niskie ryzyko· EPSS 7%
W jądrze Linux w podsystemie RDS-TCP występuje uszkodzenie strumienia TCP przy dużych stronach pamięci. Funkcja rds_message_map_pages() przypisuje pełny rozmiar strony do każdego wpisu scatterlist, nawet gdy ostatnia część jest mniejsza, co powoduje mapowanie bajtów poza końcem mapy zatorów. Poprawka ogranicza ostatnie mapowanie do pozostałej liczby bajtów.
- CVE-2026-97953Wysokie
W jądrze Linux w sterowniku stmmac występuje problem z dostępnością deskryptorów TX dla ruchu TSO. Szacowanie liczby wolnych deskryptorów jest niedokładne, co może prowadzić do zapisu poza dostępne deskryptory i uszkodzenia pierścienia TX. Poprawka dodaje funkcję obliczającą dokładną liczbę potrzebnych deskryptorów.
- CVE-2026-97951Niskie ryzyko· EPSS 7%
W jądrze Linux w podsystemie iSCSI target występuje zawieszenie dla przerwanych komend WRITE_PENDING. Gdy inicjator wysyła pozostałe PDU dataout po przerwaniu, cel nie wywołuje procesu zakończenia, co prowadzi do zakleszczenia wątku roboczego. Poprawka wywołuje target_complete_cmd() po otrzymaniu ostatniego PDU dataout.
- CVE-2026-97950Niskie ryzyko· EPSS 9%
W jądrze Linux w systemie configfs występuje problem z przypinaniem dirent celu dowiązania symbolicznego. Funkcja create_link() odczytuje dirent z ci_dentry, które może być zwolnione podczas wyścigu z rmdir, co prowadzi do ostrzeżenia WARN_ON. Poprawka przypina dirent w get_target() pod zamkiem d_lock.
- CVE-2026-97949Niskie ryzyko· EPSS 6%
W jądrze Linux w systemie configfs występuje problem z usuwaniem katalogów (rmdir). Funkcja configfs_rmdir() pozostawia dentry zahaszowane po usunięciu elementu, co prowadzi do użycia po zwolnieniu w configfs_symlink(). Poprawka odhashowuje dentry przed upuszczeniem elementu.
- CVE-2026-97948Niskie ryzyko· EPSS 7%
W jądrze Linux w podsystemie powerpc/eeh występuje problem z rekurencyjnym blokowaniem, gdy urządzenie nie ma wrażliwego na EEH sterownika. Poprzednia poprawka dodała blokadę pci_rescan_remove_lock, ale nie usunęła istniejącego blokowania wewnątrz eeh_rmv_device(), co prowadzi do zawieszenia wątku eehd na blokadzie, którą już trzyma.
- CVE-2026-97947Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie x86/amd_node istnieje potencjalne wyłuskanie wskaźnika NULL w funkcji __amd_smn_rw(), gdy amd_smn_init() nie powiedzie się i 'amd_roots' pozostaje NULL. Poprawka zastępuje sprawdzanie flagi 'smn_exclusive' bezpośrednim sprawdzeniem 'amd_roots', upraszczając logikę i eliminując ryzyko.
- CVE-2026-97946Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie x86/amd_node występuje problem z licznikiem referencji PCI w funkcji amd_smn_init(). Poprawka używa makra __free() do automatycznego zmniejszenia licznika referencji dla tymczasowego wskaźnika oraz zwiększa licznik referencji przy cachowaniu wskaźnika root, aby oddzielić referencje tymczasowe od tych w użyciu.
- CVE-2026-97945Niskie ryzyko· EPSS 9%
W kernelu Linux wykryto podatność w funkcji pmd_modify() dla architektury x86, która powoduje utratę bitu dirty (brudnego) w PMD (Page Middle Directory) dla stron THP (Transparent Huge Pages). W rezultacie, po użyciu MADV_FREE i późniejszym zapisie danych, mechanizm reclaim (np. pod presją pamięci) może błędnie uznać strony za czyste i zwolnić je, co prowadzi do utraty danych użytkownika. Problem dotyczy również plikowych stron THP, gdzie zmodyfikowane dane nie są zapisywane z powrotem na dysk.
- CVE-2026-97944Niskie ryzyko· EPSS 5%
W jądrze Linux w podsystemie x86/cfi występuje błąd w funkcji cfi_get_func_hash(), która odczytuje hash FineIBT z nieprawidłowego przesunięcia (offset 7 zamiast 5). Powoduje to, że trampoliny BPF struct_ops otrzymują błędny hash, co prowadzi do awarii CFI przy pierwszym wywołaniu pośrednim.
- CVE-2026-97943Niskie ryzyko· EPSS 9%
W jądrze Linux wykryto podatność w mechanizmie CPA (Change Page Attributes) dla architektury x86. Podczas operacji łączenia wpisów tabel stron w większe wpisy (huge pages) dochodzi do zwolnienia tabel stron bez odpowiednich blokad, co może prowadzić do użycia po zwolnieniu (UAF) przez współbieżne operacje, takie jak ptdump.
- CVE-2026-97942Niskie ryzyko· EPSS 9%
W jądrze Linux występuje błąd w kodzie łatania alternatyw x86, który może prowadzić do awarii jądra (BUG_ON) w funkcji __text_poke. Problem pojawia się, gdy vmalloc_to_page() zawiedzie w wyniku wyścigu między text poking a change_page_attr (CPA), zwłaszcza gdy CONFIG_ARCH_HAS_EXECMEM_ROX=y, a moduły współdzielą jeden zakres execmem i równolegle wywołują set_memory_*(). Naprawa polega na wykluczeniu tego wyścigu poprzez użycie blokady init_mm mmap read lock.
- CVE-2026-97941Wysokie
W jądrze Linux występuje błąd wyścigu (race condition) w funkcji __slab_try_return_freelist() w mm/slab. Funkcja zakładała, że jeśli freelist jest NULL i cmpxchg się powiedzie, to żaden inny CPU nie zwolnił obiektu do slab, co prowadzi do klasycznego problemu ABA i uszkodzenia listy. Skutkuje to paniką jądra (kernel panic) i odmową usługi (DoS).
- CVE-2026-97940Wysokie
W jądrze Linux w podsystemie IPv6 występuje podatność use-after-free w iteratorze fib6 walker podczas zatrzymania sekwencji. Walker może zostać przeniesiony do stanu FWS_U, który jest błędnie traktowany jako odłączony, co prowadzi do zwolnienia obiektu seq, który nadal znajduje się na liście fib6_walkers, a późniejsze usuwanie tras używa zwolnionego walkera.
- CVE-2026-97939Niskie ryzyko· EPSS 11%
W jądrze Linux w podsystemie ipmr brakuje rozliczania pamięci dla tablic i tras multicast. Administrator w przestrzeni nazw użytkownika+sieci może tworzyć wiele tablic routingu multicast, które nie są obciążane do memcg, co prowadzi do niekontrolowanego wzrostu nieodzyskiwalnej pamięci slab.
- CVE-2026-97938Niskie ryzyko· EPSS 9%
W jądrze Linux występuje wyścig use-after-free wokół globalnego wskaźnika cad_pid. Funkcje proc_do_cad_pid() i kill_cad_pid() używają cad_pid bez zabezpieczenia czasu życia wskazywanej struktury pid, więc równoległy zapis może zwolnić ostatnie odwołanie do starej struktury, zanim czytelnik zakończy jej używanie. Podatność została naprawiona przez objęcie cad_pid ochroną RCU i odczekanie okresu karencji przed zwolnieniem starego odwołania.
- CVE-2026-97937Wysokie
W jądrze Linux występuje błąd use-after-free w mechanizmie ftrace podczas tworzenia procesu potomnego. Stan function graph jest inicjalizowany zbyt późno — po copy_exec_state() — więc gdy alokacja task_exec_state się nie powiedzie, funkcja free_task() zwalnia stos powrotów (ret_stack) należący do procesu nadrzędnego, który następnie odwołuje się do zwolnionej pamięci.
- CVE-2026-97936Niskie ryzyko· EPSS 9%
W jądrze Linux występuje podatność w mechanizmie tracingu, związana z modyfikatorem '.stacktrace' w histogramach. Funkcja parse_field() ustawia flagę HIST_FIELD_FL_STACKTRACE przed rozwiązaniem nazwy pola, a create_hist_field() wybiera funkcję HIST_FIELD_FN_STACK tylko na podstawie wskaźnika pola, bez sprawdzenia, czy pole rzeczywiście przechowuje stacktrace. Prowadzi to do nieograniczonego kopiowania danych i uszkodzenia pamięci (out-of-bounds read/write) podczas przetwarzania zdarzenia.
- CVE-2026-97935Niskie ryzyko· EPSS 6%
W jądrze Linux wykryto podatność use-after-free w mechanizmie histogramów tracingu. Funkcja hist_register_trigger() rejestruje trigger na globalnej liście named_triggers przed ustawieniem zegara trace, a nieznana nazwa zegara powoduje błąd po rejestracji, co prowadzi do zwolnienia obiektu bez usunięcia go z listy i późniejszego odczytu zwolnionej pamięci.
- CVE-2026-97934Niskie ryzyko· EPSS 9%
W jądrze Linux podatność w podsystemie tracing pozwala na uszkodzenie pamięci poprzez użycie klucza histogramu "STACKTRACE". Pole to jest przekazywane jako nie-NULL do create_hist_field(), co powoduje odczyt niezaufanego offsetu i długości, a następnie nieograniczony memcpy. W efekcie może dojść do błędu general protection fault i paniki jądra.
- CVE-2026-97933Niskie ryzyko· EPSS 9%
W jądrze Linux występuje podatność use-after-free w podsystemie tracing. Podczas otwierania pliku opcji tracera istnieje wyścig (race condition), w którym element tablicy topts może zostać zwolniony przez usunięcie instancji trace_array, zanim zostanie użyty do zwiększenia licznika referencji. Może to prowadzić do użycia zwolnionej pamięci.
- CVE-2026-97932Niskie ryzyko· EPSS 8%
W jądrze Linux mechanizm tracing (enable_event trigger) odraczał zwolnienie referencji trace_event_put_ref() do wątku jądra, ale powiązany trace_event_file mógł zostać już zwolniony przy usuwaniu instancji. Prowadziło to do użycia zwolnionej pamięci (use-after-free). Poprawka przechowuje trace_event_call bezpośrednio w enable_trigger_data, aby odroczone zwolnienie nie odwoływało się do zwolnionego trace_event_file.
- CVE-2026-97931Wysokie
W jądrze Linux sterownik ALSA us122l nie czyścił flagi VM_MAYWRITE dla mapowań bufora odczytu utworzonych z PROT_READ. Proces z dostępem O_RDWR do węzła hwdep mógł później użyć mprotect(), aby uczynić mapowanie zapisywalnym, a następnie zmodyfikować pole read_size i uzyskać dostęp do stron poza alokacją. Poprawka usuwa VM_MAYWRITE dla mapowań bufora odczytu.
- CVE-2026-97930Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik ALSA usbusx2y ma niezgodność rozmiaru tablicy in04_last (char[24]) z buforem in04_buf alokowanym jako 21 bajtów (sizeof(struct us428_ctls)). W funkcji i_usx2y_in04_int() kopiowane jest 24 bajty z 21-bajtowej alokacji, co powoduje odczyt 3 bajtów poza końcem obiektu. Poprawka wprowadza stałą USX2Y_IN04_SIZE i używa jej spójnie.
- CVE-2026-97929Niskie ryzyko· EPSS 9%
W jądrze Linux sterownik ALSA usbusx2y w funkcji i_usx2y_in04_int() przetwarza dane URB bez sprawdzania urb->actual_length. Krótki transfer z wadliwego urządzenia powoduje przetwarzanie niezainicjalizowanych danych ze sterty (in04_buf), które są następnie kopiowane do tablicy ctl_snapshot[] dostępnej przez mmap. Poprawka używa kzalloc() i dodaje sprawdzenie actual_length.
- CVE-2026-97928Niskie ryzyko· EPSS 9%
W jądrze Linux sterownik drm/amdgpu wykonuje niepotrzebny flush VMID 0 dla operacji clear-on-release na VRAM, mimo że nie programuje okna GART. Na układach GFX11 (np. Navi33) ten zbędny flush SDMA może zawiesić silnik. Poprawka wykonuje flush tylko wtedy, gdy okno GART jest rzeczywiście używane.
- CVE-2026-97927Niskie ryzyko· EPSS 11%
W jądrze Linux system plików UFS instalował sb->s_root przed wczytaniem struktur grup cylindrów dla montowania zapisywalnego. Gdy wczytywanie się nie powiodło, ścieżka błędu zwalniała informacje superbloku i ustawiała sb->s_fs_info na NULL, pozostawiając sb->s_root, co powodowało dereferencję NULL podczas demontażu. Poprawka wczytuje metadane grup cylindrów najpierw, a korzeń tworzy na końcu.
- CVE-2026-97926Wysokie
W jądrze Linux system plików UFS kopiował indeks grupy cylindrów i pozycje rotorów z dysku bez walidacji, a następnie używał ich jako indeksów przy alokacji i zwalnianiu. Spreparowany obraz mógł ustawić dowolne wartości, powodując zapis poza alokacją s_csp lub skanowanie bitmapy daleko poza bufory grupy cylindrów. Poprawka odrzuca grupy cylindrów z niezgodnym indeksem lub rotorami poza grupą.
- CVE-2026-97925Niskie ryzyko· EPSS 11%
W jądrze Linux wykryto wyścig (race condition) podczas wymiany urządzenia broadcast (clockevents). Brak synchronizacji między instalacją nowego urządzenia broadcast a operacjami broadcast może prowadzić do użycia odłączonego urządzenia, co w skrajnym przypadku wywołuje BUG() w tick_cleanup_dead_cpu().
- CVE-2026-97924Niskie ryzyko· EPSS 10%
W jądrze Linux mechanizm tracing/user_events niszczył pola zdarzenia przed próbą usunięcia wywołania trace event. Gdy usunięcie się nie powiodło (np. zwrot -EBUSY), zdarzenie pozostawało zarejestrowane z nieodwracalnie zniszczoną listą pól, co prowadziło do operowania na pustej liście pól. Poprawka przenosi niszczenie pól po usunięciu wywołania i przywraca listę pól w razie niepowodzenia.
- CVE-2026-97923Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja create_var_ref() alokuje pole VAR_REF hist_field, a następnie wywołuje init_var_ref(). Gdy inicjalizacja się nie powiedzie, pole nie jest zwalniane, ponieważ destroy_hist_field() zwraca wcześnie dla HIST_FIELD_FL_VAR_REF, a pole nie zostało jeszcze dodane do tablicy var_refs[]. Poprawka wywołuje __destroy_hist_field(), które zwalnia pole bez sprawdzania flagi.
- CVE-2026-97922Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie tracing występuje wyciek pamięci. Gdy ta sama zmienna jest używana trzy lub więcej razy w jednym wyzwalaczu histogramu, usunięcie wyzwalacza nie zwalnia referencji do zmiennej ani powiązanych łańcuchów. Licznik referencji jest tylko zwiększany, a zwolnienie następuje dopiero przy wartości 0 lub 1, więc trzy lub więcej referencji powoduje wyciek.
- CVE-2026-97921Niskie ryzyko· EPSS 10%
W jądrze Linux wykryto podatność w mechanizmie tracingu (histogramy). Podczas tworzenia pola histogramu z niedozwolonym modyfikatorem (np. .log2) pole to nie jest poprawnie zwalniane, co prowadzi do wycieku pamięci. Problem dotyczy ścieżki obsługi błędów w funkcji __create_val_field(), gdzie pole nie trafia do listy fields[] i nie jest później usuwane.
- CVE-2026-97920Niskie ryzyko· EPSS 10%
W jądrze Linux w funkcji print_entries() (podsystem tracing/histogramy) zmienna n_entries jest używana zarówno jako liczba wpisów sortowania, jak i wartość zwracana. Gdy alokacja statystyk zawiedzie, zapisany kod błędu -ENOMEM nadpisuje licznik, który jest następnie przekazywany do tracing_map_destroy_sort_entries() jako liczba typu unsigned int, co powoduje odczyt i zwolnienie pamięci poza zakresem tablicy (vmalloc-out-of-bounds).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

