Podatności Linux kernel
7561 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-98109Nieznane
W jądrze Linuxa wykryto podatność w podsystemie Bluetooth (hci_core) polegającą na wyścigu podczas rejestracji urządzenia. Kolejka pracy power_on jest uruchamiana przed pełną inicjalizacją struktur, co przy współbieżnym wykonywaniu może prowadzić do użycia niezainicjalizowanego mutexa w msft_do_close(), wywołując ostrzeżenie DEBUG_LOCKS i potencjalne problemy stabilności.
- CVE-2026-98108Wysokie
W jądrze Linux w Bluetooth L2CAP funkcja l2cap_le_connect_req() nie ustawiała poprawnie trybu kanału, co powodowało, że kanały z FLAG_DEFER_SETUP odpowiadały na L2CAP_LE_CONN_REQ z L2CAP_ECRED_CONN_RSP, co jest nieprawidłowe. Może to prowadzić do zapisu poza zakresem w l2cap_ecred_rsp_defer(). Poprawka ustawia chan->mode poprawnie i dodaje sprawdzenie trybu kanału oraz WARN_ON_ONCE zamiast zapisu poza zakresem.
- CVE-2026-98107Nieznane
W jądrze Linux w Bluetooth L2CAP funkcja l2cap_chan_connect() sprawdza limit oczekujących kanałów ECRED, ale liczy tylko kanały odroczone. Przy jednoczesnym połączeniu 6 gniazd w kolejności DDDDND (D=odroczone, N=nieodroczone) ostatnie może przekroczyć limit, powodując zapis poza zakresem w tablicy scid i wysłanie nieprawidłowego żądania ECRED_CONN_REQ. Poprawka uwzględnia nieodroczone kanały w liczeniu i dodaje WARN_ON_ONCE.
- CVE-2026-98106Nieznane
W jądrze Linux występuje błąd w module drm/pagemap, który pozwala na dwukrotną migrację tych samych stron prywatnych urządzenia (device-private folio). Jeśli strona jest w trakcie migracji z pamięci urządzenia do pamięci systemowej, ścieżka ewakuacji oparta na surowym PFN może wybrać tę samą stronę i spróbować migrować ją ponownie. Prowadzi to do pozostawienia nieobciążonej strony na liście LRU, co powoduje nieskończone ponawianie blokady i w konsekwencji soft lockup oraz RCU stall.
- CVE-2026-98105Nieznane
W jądrze Linuxa w sterowniku oa_tc6 poprawiono obsługę błędów przy przeciążonym ruchu sieciowym. Gdy bufor skb nie ma wystarczającej ilości miejsca na nadchodzące dane, ramka jest porzucana i sterownik szuka nowej ramki. Błąd alokacji bufora skb jest teraz traktowany jako błąd możliwy do odzyskania.
- CVE-2026-98103Nieznane
W jądrze Linuxa przekonwertowano strukturę ip_sf_list w protokole IGMP do mechanizmu RCU. Poprawka eliminuje potencjalny deadlock (zakleszczenie) i ostrzeżenia lockdep, które występowały, gdy funkcja ip_check_mc_rcu() próbowała uzyskać blokadę, która była już trzymana w tej samej ścieżce kodu.
- CVE-2026-98102Nieznane
W jądrze Linuxa w protokole IPv6 multicast naprawiono błąd w funkcji ip6_mc_del1_src() dotyczący list RCU. Poprzednio, gdy filtr źródłowy był usuwany, wskaźnik był modyfikowany przed upływem okresu przejściowego, co mogło powodować, że równoległe odczyty trafiały na listę tombstone zamiast na właściwą listę źródeł.
- CVE-2026-98101Nieznane
W jądrze Linuxa w protokole IPv6 multicast zmieniono funkcję ip6_mc_source() tak, aby używała mechanizmu copy-on-write z RCU. Poprzednio modyfikacje listy filtrów źródłowych były wykonywane w miejscu, co mogło prowadzić do odczytania rozerwanych adresów IPv6 lub zduplikowanych/pominiętych wpisów przez równoległych czytelników.
- CVE-2026-98099Nieznane
W jądrze Linuxa w protokole IPv6 multicast naprawiono kilka miejsc, w których listy chronione przez RCU były aktualizowane bez użycia rcu_assign_pointer(). Poprawka zapewnia spójne użycie rcu_assign_pointer() wraz z odpowiednimi funkcjami pomocniczymi do dereferencji.
- CVE-2026-98098Nieznane
W jądrze Linux naprawiono podatność w module TIPC, gdzie przy przekroczeniu limitu TIPC_MAX_PUBL (65535) publikacji usług lokalnych, typy usług protokołu (stan węzła, stan łącza) nie były już wstawiane do tablicy nazw. Prowadziło to do braku powiadomień o zdarzeniach oraz do dereferencji NULL w funkcji tipc_named_node_up() przy pustej liście publikacji.
- CVE-2026-98097Nieznane
W jądrze Linuxa w protokole TIPC naprawiono problem wysyłania losowych bajtów dopełnienia w komunikatach RESET/ACTIVATE. Poprzednio używano strcpy(), co mogło wysyłać przypadkowe dane z bufora skb do zdalnego systemu. Teraz używane jest memcpy(), które kopiuje wyzerowane bajty dopełnienia.
- CVE-2026-98096Wysokie
W jądrze Linuxa w protokole IPv6 Segment Routing naprawiono problem z przywracaniem nagłówka sieciowego przed routingiem i forwardingiem. Poprzednio, gdy nagłówek SRH nie następował bezpośrednio po nagłówku IPv6, offset sieciowy mógł być ujemny, co mogło prowadzić do przepełnień bufora podczas forwardowania.
- CVE-2026-98095Nieznane
W jądrze Linux w funkcji tpacket_parse_header() (podsystem af_packet) wartość tp_len pochodząca od użytkownika (typ u32) była rzutowana na typ int. Wartość większa niż INT_MAX stawała się liczbą ujemną, która przechodziła sprawdzenie zakresu i była zwracana do funkcji sock_sendmsg_nosec(), wywołując BUG().
- CVE-2026-98094Nieznane
W jądrze Linux w sterowniku fbtft (staging) blokada dirty_lock nie była bezpieczna dla przerwań IRQ. Funkcja fbtft_mkdirty() może być wywołana ze ścieżki renderowania fbcon w kontekście hardirq, podczas gdy fbtft_deferred_io() używa tej samej blokady w kontekście workqueue z włączonymi przerwaniami lokalnymi, co prowadzi do możliwej inwersji blokad i zakleszczenia.
- CVE-2026-98093Nieznane
W jądrze Linux w sterowniku ASoC fsl_micfil funkcje hw_params() i hw_free() włączały i wyłączały zegar mclk bez zachowania równowagi. Rdzeń PCM nie gwarantuje parowania 1:1, więc hw_free() może wykonać się bez hw_params(), a hw_params() może być wywołane wielokrotnie, co powoduje ostrzeżenie "already disabled" lub wyciek referencji włączenia zegara.
- CVE-2026-98092Nieznane
W jądrze Linux w sterowniku ASoC amd yc funkcja acp6x_pdm_dma_close() nie zwalnia bufora runtime->private_data przydzielonego w acp6x_pdm_dma_open(). Brakuje wywołania kfree, co powoduje wyciek pamięci.
- CVE-2026-98091Nieznane
W jądrze Linux w systemie plików btrfs podczas tworzenia pierwszego fragmentu metadanych dla systemu plików sprout funkcja create_chunk() dodaje nowe urządzenie do listy dev_update_list transakcji. Jeśli utworzenie kolejnego fragmentu systemowego się nie powiedzie, btrfs_init_new_device() przerywa transakcję i zwalnia urządzenie, gdy post_commit_list jest nadal połączona, co powoduje ostrzeżenie i pozostawia listę transakcji wskazującą na zwolnioną pamięć.
- CVE-2026-98090Nieznane
W jądrze Linux w systemie plików btrfs funkcja btrfs_init_new_device() przełącza wskaźniki latest_dev i s_bdev z urządzenia seed na nowe urządzenie sprout przed utworzeniem pierwszych zapisywalnych fragmentów. Jeśli utworzenie fragmentu lub konfiguracja sprout się nie powiedzie, ścieżka błędu zwalnia nowe urządzenie bez przywrócenia tych wskaźników, co może spowodować odwołanie do zwolnionej pamięci w btrfs_show_devname() i awarię.
- CVE-2026-98089Nieznane
W jądrze Linux w module bonding (tryb alb) funkcja alb_determine_nd() używa icmp6_hdr(skb) do inspekcji nagłówków ICMPv6, ale w ścieżkach transmisji (np. pakiety wysyłane przez AF_PACKET / surowe gniazda lub przekazywane) skb->transport_header nie jest gwarantowanie zainicjalizowany. pskb_network_may_pull() nie ustawia przesunięcia nagłówka transportowego, więc dereferencja icmp6_hdr(skb) może uzyskać dostęp do pamięci poza zakresem.
- CVE-2026-98088Nieznane
W jądrze Linux w sterowniku scsi mpt3sas funkcja _base_assign_reply_queues() wywołuje cpumask_of_node() z wartością zwróconą przez dev_to_node(), która może wynosić NUMA_NO_NODE (-1) w systemach bez informacji o topologii NUMA dla urządzenia PCI. Przekazanie -1 do cpumask_of_node() powoduje odczyt poza zakresem tablicy node_to_cpumask_map[-1], wykryty przez UBSAN.
- CVE-2026-98087Nieznane
W jądrze Linux występuje błąd w planistyce czasu rzeczywistego (sched/rt,dl), który powoduje, że zadania RT z wywołaniem migrate_disable() pozostają na liście zadań możliwych do przeniesienia (rq->rt.pushable_tasks), mimo że nie mogą zostać przeniesione na inny CPU. W efekcie balanser RT wielokrotnie próbuje przenieść takie zadanie, co kończy się niepowodzeniem i marnowaniem czasu procesora — w opisanym przypadku nawet 37 ms z 89 ms okna czasowego zostało zużyte na nieudane próby przeniesienia.
- CVE-2026-98086Nieznane
W jądrze Linux w podsystemie ALSA ump funkcja snd_ump_parse_endpoint() ustawia ump->parsed przy każdym wyjściu, także błędnym, zanim wywołujący podłączy starsze urządzenie rawmidi. Funkcja ump_handle_ep_name_msg() traktuje wtedy parsed jako "legacy_rmidi jest aktywne" i wywołuje ump_legacy_set_rawmidi_name(), która wykonuje snprintf() na ump->legacy_rmidi->name. Jeśli pakiet UMP nadejdzie w tym oknie (ścieżka IRQ z snd_ump_receive), legacy_rmidi jest nadal NULL, co powoduje dereferencję null w snprintf.
- CVE-2026-98085Nieznane
W jądrze Linuxa w mechanizmie precyzyjnego cofania (backtracking) dla instrukcji BPF_LD | BPF_{IND,ABS} nie obsłużono przypadku niejawnego wyjścia z podprogramu. Powodowało to kontynuowanie cofania w ramce wywołującego przy przetwarzaniu instrukcji w ramce wywoływanego, co prowadziło do błędów segmentacji lub niepoprawnego przycinania stanu.
- CVE-2026-98084Nieznane
W jądrze Linuxa w mechanizmie precyzyjnego cofania dla wywołań bpf_loop() występował błąd: przy drugim odwiedzeniu wywołania, precyzja rejestru R1 (licznik iteracji) była resetowana przez przetwarzanie poprzedzającego BPF_EXIT. Skutkowało to wstrzyknięciem punktu kontrolnego bez oznaczenia R1 jako precyzyjnego, co mogło pozwolić weryfikatorowi na zaakceptowanie niebezpiecznych programów.
- CVE-2026-98083Wysokie
W jądrze Linuxa w systemie plików btrfs występuje podatność use-after-free podczas wstawiania pasków RAID. Jeśli alokacja rozszerzenia paska RAID nie powiedzie się, funkcja btrfs_insert_one_raid_extent() przerywa i kończy transakcję przed zwróceniem -ENOMEM. Wywołujący nadal posiada uchwyt transakcji i przy obsłudze błędu ponownie kończy transakcję, co może prowadzić do użycia po zwolnieniu.
- CVE-2026-98082Nieznane
W jądrze Linuxa w systemie plików btrfs występuje wyciek pamięci struktury bioc na liście bioc_list obiektu ordered_extent. Błąd może wystąpić podczas wstawiania rozszerzenia RAID lub gdy ordered extent napotka błąd I/O, co powoduje pominięcie zwolnienia bioc.
- CVE-2026-98081Nieznane
W jądrze Linuxa w systemie plików btrfs (tryb zoned) występuje błąd w funkcji do_zone_finish(): jeśli call_zone_finish() zakończy się niepowodzeniem, blok grupy pozostaje na liście zone_active_bgs, co prowadzi do wycieku referencji, nieobudzenia oczekujących i zapętlenia w btrfs_zoned_activate_one_bg().
- CVE-2026-98079Nieznane
W jądrze Linuxa w kompresji zstd dla btrfs występuje błąd utraty przebudzenia (lost wakeup) w funkcji zstd_get_workspace(). Pisarz może zasnąć na zawsze, nawet gdy workspace jest wolny, z powodu braku ponownego sprawdzenia puli po prepare_to_wait().
- CVE-2026-98078Nieznane
W jądrze Linuxa w IPVS występuje błąd odwróconej kolejności argumentów w serializacji sekwencji w wersji 1 synchronizacji. Powoduje to pozostawienie 24 bajtów wiadomości niezapisanych, co może ujawnić nieświeże dane ze sterty i zastąpić stan sekwencji połączenia wartościami z bufora.
- CVE-2026-98077Nieznane
W jądrze Linuxa w module netfilter nf_conntrack_sip występuje podatność odczytu poza zakresem w funkcji sip_skip_whitespace(). Funkcja zwraca dptr bez zmian, gdy jej pętla wyczerpie bufor, zamiast NULL, co prowadzi do odczytu jednego bajtu poza buforem, gdy nagłówek SIP kończy się spacjami/tabulatorami bez dwukropka.
- CVE-2026-98076Nieznane
W jądrze Linux występuje podatność use-after-free w mechanizmie tracing/probes. Pola zdarzenia dynamicznego opartego na sondach (kprobe, uprobe, eprobe, fprobe) przechowują wskaźniki do nazw i typów argumentów, które są zwalniane przy usunięciu sondy definiującej te pola, mimo że zdarzenie nadal istnieje dzięki innym sondom. Każde odwołanie do tych pól, np. przy ustawianiu filtra, powoduje odczyt zwolnionej pamięci.
- CVE-2026-98075Nieznane
W jądrze Linux odkryto podatność w mechanizmie BPF, która pozwala na odwołanie się do głównego programu jako funkcji pomocniczej (BPF_PSEUDO_FUNC). Taki adres nie jest poprawnie przekształcany, co może prowadzić do wywołania funkcji pod błędnym adresem.
- CVE-2026-98074Nieznane
W jądrze Linux w sterowniku bonding występuje podatność polegająca na przedwczesnym wyczyszczeniu wskaźnika curr_active_slave podczas zwalniania wszystkich interfejsów. Może to prowadzić do wycieku trybu promiscuous na fizycznym urządzeniu po zakończeniu pracy bonda.
- CVE-2026-98073Wysokie
W jądrze Linux występuje problem w funkcji __dev_change_net_namespace(), gdzie konfliktujące alternatywne nazwy (altnames) urządzeń sieciowych nie są usuwane przy zmianie przestrzeni nazw sieci. Prowadzi to do ostrzeżenia w cfg80211_pernet_exit() podczas usuwania nie-rootowej przestrzeni nazw, gdy dwa urządzenia mają przypisaną tę samą altname. Podatność dotyczy sytuacji, w której urządzenie w init_net ma konfliktującą altname z urządzeniem w usuwanej przestrzeni nazw.
- CVE-2026-98072Nieznane
W jądrze Linux w funkcji release_in_xmit() w podsystemie net/rds występuje błąd synchronizacji pamięci. Użycie clear_bit_unlock() bez pełnej bariery pamięci przed sprawdzeniem waitqueue_active() może prowadzić do utraty wybudzenia (lost wake-up) wątków oczekujących w rds_conn_shutdown() i rds_tcp_reset_callbacks().
- CVE-2026-98071Nieznane
W jądrze Linux w podsystemie RDS wykryto wyścig danych (data race) w funkcji rds_conn_path_reset(), która zeruje całe słowo flag cp_flags zwykłym zapisem, podczas gdy inne operacje używają atomowych bitops. Może to prowadzić do utraty aktualizacji flag, co destabilizuje zarządzanie połączeniami RDS.
- CVE-2026-98070Wysokie
W jądrze Linux naprawiono podatność w module net/rds. Funkcja rds_tcp_reset_callbacks() wyciszała ścieżkę transmisji, oczekując na zwolnienie flagi RDS_IN_XMIT, zamiast przejąć blokadę, co na architekturach ze słabym uporządkowaniem pamięci mogło prowadzić do równoczesnego działania transmisji i resetu stanu cp_xmit_*.
- CVE-2026-98069Wysokie
W jądrze Linux naprawiono błąd w net/rds, gdzie funkcja rds_conn_shutdown() jedynie sprawdzała, czy flagi RDS_IN_XMIT i RDS_RECV_REFILL są wyczyszczone, zamiast przejąć ich blokady. Na architekturach ze słabym uporządkowaniem pamięci ścieżka transmisji mogła wznowić działanie równolegle z demontażem połączenia, prowadząc do wyścigu i uszkodzenia stanu. Poprawka polega na przejęciu obu blokad fastpath przed zamknięciem transportu i przywróceniu ich po zakończeniu resetu ścieżki.
- CVE-2026-98068Nieznane
W jądrze Linux w podsystemie RDS (Reliable Datagram Sockets) wykryto podatność, w której funkcja rds_conn_shutdown() może skonsumować współbieżne wywołanie drop, prowadząc do zakleszczenia ścieżki połączenia w stanie RDS_CONN_DOWN. Problem dotyczy wyścigu między zamykaniem połączenia a akceptacją nowego gniazda, co może skutkować brakiem poprawnego zakończenia sesji i narastaniem kolejki odbiorczej.
- CVE-2026-98067Nieznane
W jądrze Linux wykryto podatność w systemie plików EROFS związaną z dekompresją LZ4. Optymalizacja 'rolling decompression' może prowadzić do uszkodzenia danych, ponieważ implementacja LZ4 może kopiować literały wstecz, co łamie założenia algorytmu. Podatność została załatana poprzez tymczasowe wyłączenie tej optymalizacji.
- CVE-2026-98066Nieznane
W sterowniku ALSA caiaq w jądrze Linux występuje podatność polegająca na potencjalnym podwójnym zwolnieniu pamięci (double-free) podczas obsługi błędów. Zasoby takie jak URBy mogą być zwalniane wielokrotnie, co prowadzi do nieprawidłowego zarządzania pamięcią.
- CVE-2026-98065Nieznane
W jądrze Linux występuje luka w podsystemie BPF, która pozwala na utworzenie mapy haszującej z BTF bez klucza (btf_key_type_id == 0). Po dodaniu callbacków ->map_check_btf do map htab i rhtab, walidacja przestała odrzucać takie mapy, co prowadzi do dereferencji NULL w funkcji btf_type_show() podczas odczytu mapy przez bpffs. W wyniku następuje awaria jądra (oops).
- CVE-2026-98064Nieznane
W jądrze Linux funkcja btf_modifier_show() bezwarunkowo wywołuje operację show() dla rozwiązanego typu, ale dla typu void (type_id 0, BTF_KIND_UNKN) nie ma wpisu w kind_ops[], więc wskaźnik show jest NULL. Program BPF przekazujący type_id typu "const void" z BTF vmlinux do bpf_snprintf_btf() powoduje dereferencję NULL. Poprawka wprowadza fallback do btf_df_show() z placeholderem "<unsupported kind:N>".
- CVE-2026-98063Nieznane
W jądrze Linux funkcja btf_var_show() bezwarunkowo wywołuje btf_type_id_resolve(), która dereferencjonuje btf->resolved_ids, będący NULL dla bazowego BTF (np. vmlinux BTF). Program BPF przekazujący type_id typu BTF_KIND_VAR z vmlinux BTF do bpf_snprintf_btf() powoduje dereferencję NULL. Poprawka rozwiązuje typ zmiennej bezpośrednio przez btf_type_skip_modifiers(), gdy resolved_ids jest NULL.
- CVE-2026-98062Nieznane
W jądrze Linux punkty śledzenia signal_generate i signal_deliver deklarują argument info jako wskaźnik do struct kernel_siginfo, przez co btf_ctx_access() traktuje go jako zaufany wskaźnik dla programów tp_btf. Jednak dostarczanie sygnałów używa SEND_SIG_NOINFO (0) i SEND_SIG_PRIV (1) jako wartości specjalnych, które nie są wskaźnikami. Program tp_btf może wywołać dereferencję tych wartości i spowodować błąd jądra, a signal_generate może działać w kontekście przerwania timera, co prowadzi do paniki jądra.
- CVE-2026-98061Nieznane
W jądrze Linux tail call z niezerowej ramki jest modelowany jako powrót z tej ramki, a weryfikator ustawia R0 jako nieznane i wywołuje prepare_func_exit(). Gdy bieżąca ramka jest synchronicznym callbackiem, prepare_func_exit() wymusza kontrakt wartości zwracanej i oznacza R0 jako precise, co prowadzi do błędu weryfikatora "callback unexpected regs". Zadanie z CAP_BPF może wywołać WARN i błąd -EFAULT BPF_PROG_LOAD. Poprawka odrzuca tail call bezpośrednio z ramek callbacków.
- CVE-2026-98060Nieznane
W jądrze Linux funkcja __bpf_rbtree_add() utrzymuje wskaźniki parent i link aktywne podczas wywołań callbacku porównania dostarczonego przez program, więc weryfikator wymaga, aby blokada korzenia była trzymana przez cały callback. Ścieżka pomocnicza egzekwuje tę regułę dla bpf_spin_lock() i bpf_spin_unlock(), ale ścieżka argumentu kfunc resilient lock tego nie robi. Callback może zwolnić blokadę korzenia i pozwolić innemu CPU usunąć i zwolnić węzeł, którego dotyczy trwające przejście drzewa, co prowadzi do użycia zwolnionych wskaźników.
- CVE-2026-98059Nieznane
W jądrze Linux funkcja do_wait() przekazuje wo->wo_pid do punktu śledzenia sched_process_wait, ale kernel_wait4() pozostawia wo_pid jako NULL dla wait4(-1), a kernel_waitid_prepare() robi to samo dla waitid(P_ALL). btf_ctx_access() typuje argument 0 jako PTR_TO_BTF_ID | PTR_TRUSTED bez PTR_MAYBE_NULL, więc weryfikator akceptuje niesprawdzoną dereferencję. Ponieważ zaufane wskaźniki nie mają ochrony przed błędami, oczekiwanie na dowolne dziecko może spowodować dereferencję NULL w kodzie BPF JIT. Poprawka oznacza argument 0 jako nullable.
- CVE-2026-98058Nieznane
W jądrze Linux funkcje bpf_sys_bpf() i bpf_sys_close() mogą usypiać (np. przez muteksy, alokacje GFP_KERNEL, oczekiwanie na RCU grace period), ale nie mają ustawionego .might_sleep w prototypach. Są one ograniczone do BPF_PROG_TYPE_SYSCALL, którego program główny jest usypialny, ale callback bpf_timer zarejestrowany przez program syscall jest sprawdzany w kontekście nieusypialnym. Taki callback może wywołać bpf_sys_bpf() z kontekstu softirq hrtimer i wywołać błąd planowania w kontekście atomowym. Poprawka ustawia .might_sleep na obu prototypach.
- CVE-2026-98057Nieznane
W jądrze Linux kod walidacji trwałego bufora pierścieniowego używał meta->nr_subbufs bez sprawdzenia, czy odpowiada on nr_pages + 1, zakładając, że obie wartości są takie same. Poprawka dodaje sprawdzenie w kodzie walidacji, aby upewnić się, że zapisany nr_subbufs jest zgodny z oczekiwanym.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

