Podatności Linux kernel
10 419 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-1999-0431Średnie
Wersje jądra Linux 2.2.3 i wcześniejsze umożliwiają zdalnemu atakującemu przeprowadzenie ataku fragmentacji IP, co prowadzi do odmowy usługi.
- CVE-2026-58942Wysokie
W funkcji do_fault_around pliku memory.c występuje możliwe użycie po zwolnieniu (use after free) spowodowane błędem logicznym w kodzie. Może to doprowadzić do lokalnej eskalacji uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58847Wysokie
W funkcji kvm_vfio_pviommu_attach w pliku vfio.c występuje możliwość podwójnego zwolnienia (double free) wynikająca z błędu logicznego w kodzie. Może to prowadzić do lokalnego podniesienia uprawnień bez konieczności posiadania dodatkowych uprawnień. Do wykorzystania nie jest wymagana interakcja użytkownika.
- CVE-2026-58829Wysokie
W funkcji fuse_backing_mmap pliku backing.c występuje możliwość uszkodzenia pamięci z powodu użycia po zwolnieniu (use after free). Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58828Wysokie
W wielu funkcjach pliku base.c występuje możliwość użycia po zwolnieniu (use after free) z powodu warunku wyścigu. Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58827Wysokie
W wielu funkcjach pliku dma-buf.c występuje możliwość użycia po zwolnieniu (use after free) z powodu warunku wyścigu. Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58826Wysokie
W funkcji ksys_unshare pliku fork.c występuje możliwość uszkodzenia pamięci z powodu użycia po zwolnieniu (use after free). Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-58825Wysokie
W wielu funkcjach pliku fork.c występuje możliwość użycia po zwolnieniu (use after free) z powodu błędu logicznego w kodzie. Może to prowadzić do lokalnego podniesienia uprawnień bez potrzeby dodatkowych uprawnień wykonawczych.
- CVE-2026-99242Niskie ryzyko· EPSS 4%
W jądrze Linux naprawiono wyścig w systemie plików NTFS między fallocate a odczytami przez mmap. Fallocate brał invalidate_lock tylko dla operacji punch hole, collapse range i insert range, a przy standardowej alokacji nowe klastry były mapowane przed wyzerowaniem, co pozwalało równoległym błędom stron mmap odczytać niezainicjalizowane dane z dysku.
- CVE-2026-99241Niskie ryzyko· EPSS 5%
W jądrze Linux naprawiono brak blokady w ntfs_filemap_page_mkwrite(), która wywoływała iomap_page_mkwrite() bez trzymania mapping->invalidate_lock. Równoległy truncate lub fallocate mógł w tym czasie unieważniać pagecache i przepisywać runlist, powodując wyścig z mapowaniem bloków i zabrudzaniem folio.
- CVE-2026-99240Niskie ryzyko· EPSS 5%
W jądrze Linux w podsystemie DAMON (mm/damon/core) występuje błąd dzielenia przez zero, gdy cel kwoty DAMOS (damos_quota_goal) ma wartość target_value równą zero. Poprawka przenosi obsługę tego przypadku do warstwy rdzeniowej, dodając walidację w funkcji damos_commit_quota_goal(), która teraz zwraca błąd przy zerowej wartości docelowej.
- CVE-2026-99239Wysokie
W jądrze Linux rozwiązano podatność w Bluetooth L2CAP polegającą na wyścigu TOCTOU, w którym l2cap_chan może zostać powiązany z l2cap_conn więcej niż raz. Naruszenie tego niezmiennika może prowadzić do niespójnego stanu kanału i potencjalnych problemów z pamięcią. Poprawka dodaje sprawdzenie niezmiennika w __l2cap_chan_add oraz blokadę l2cap_lock_chan w l2cap_sock_bind().
- CVE-2026-99238Wysokie
W jądrze Linux rozwiązano podatność w podsystemie tracing, gdzie trace_module_record() przechodzi po ftrace_trace_arrays z notyfikatora modułu bez blokady trace_types_lock. Równoległe usunięcie instancji (rmdir) usuwa ją z listy i zwalnia pod tą blokadą, więc załadowanie lub wyładowanie modułu może odwołać się do zwolnionego trace_array (use-after-free).
- CVE-2026-99237Wysokie
W jądrze Linux rozwiązano podatność w podsystemie tracing, gdzie update_last_data_if_empty() jest wywoływana z tracing_open() z O_TRUNC, tracing_read_pipe() i tracing_buffers_read() bez blokady trace_types_lock. Dwóch czytelników może jednocześnie przejść test LAST_BOOT i podwójnie zwolnić module_delta, a notyfikator modułu może aktualizować module_delta w trakcie jego zwalniania.
- CVE-2026-99236Wysokie
W jądrze Linux rozwiązano podatność w podsystemie tracing, gdzie niepełne wyrażenia filtrów zdarzeń (np. kończące się operatorem logicznym) powodowały niezdefiniowany stan operatora. Prowadziło to do odczytu poza granicami (prog[-1]) lub kopiowania słowa poza granicami do celu skoku, co można było wywołać przez PERF_EVENT_IOC_SET_FILTER na samonamierzającym punkcie śledzenia perf.
- CVE-2026-99235Wysokie
W jądrze Linux rozwiązano podatność use-after-free w podsystemie tracing/histogramy. create_field_var_hist() zapisywał wskaźnik do zgodnego histogramu (hist_data) zamiast do utworzonego histogramu; ponieważ find_compatible_hist() dopasowuje tylko klucze, użytkownik mógł usunąć ten histogram, podczas gdy cel nadal na niego wskazywał, co prowadziło do use-after-free w event_hist_trigger_free().
- CVE-2026-99234Niskie ryzyko· EPSS 6%
W jądrze Linux w podsystemie tracing występuje błąd, w którym nieudane polecenie hist tworzące histogram zmiennej pola pozostawia zarejestrowany trigger bez powiązanego wpisu w field_var_hists[]. W wyniku tego trigger pozostaje aktywny i zlicza dane, mimo że operacja zakończyła się błędem -EINVAL, co prowadzi do wycieku zasobów i niespójnego stanu.
- CVE-2026-99233Wysokie
W jądrze Linux rozwiązano podatność w tracing/histograms, gdzie find_synth_event() porównywał tylko nazwę bazową zdarzenia. Rejestracja lub usunięcie histogramu na niesyntetycznym zdarzeniu o nazwie bazowej zgodnej ze zdarzeniem syntetycznym błędnie modyfikowała licznik referencji se->ref, co mogło doprowadzić do zwolnienia zdarzenia syntetycznego, podczas gdy aktywna akcja histogramu nadal trzymała do niego wskaźnik (use-after-free).
- CVE-2026-99232Niskie ryzyko· EPSS 4%
W jądrze Linux naprawiono użycie __copy_from_user() zamiast copy_from_user() w syscall_copy_user_array() przy kopiowaniu bufora argumentów syscalli podlegających błędom stron (write, pwrite64 itp.). Pominięcie access_ok() pozwalało na przyjęcie adresu niebędącego adresem użytkownika.
- CVE-2026-99231Wysokie
W jądrze Linux w podsystemie io_uring (operacja waitid) występuje błąd use-after-free. Funkcja io_waitid_wait() czyści pole ->head zanim przejmie własność żądania przez zwiększenie licznika referencji, co pozwala innemu wątkowi zwolnić i ponownie użyć żądania, podczas gdy procedura obsługi wciąż je modyfikuje.
- CVE-2026-99230Niskie ryzyko· EPSS 5%
W jądrze Linux naprawiono pozostawianie wskaźników LIST_POISON w ->hash_node przez io_uring_cmd_del_cancelable(), które używa hlist_del(). Rekordy są recyklingowane bez reinicjalizacji, a nie każdy użytkownik ->hash_node inicjalizuje go przed użyciem, co prowadzi do zapisu przez LIST_POISON2 i błędu general protection fault.
- CVE-2026-99229Niskie ryzyko· EPSS 5%
W jądrze Linux naprawiono zapętlenie w io_cqring_wait_schedule(), gdy ustawiony jest bit IO_CHECK_CQ_OVERFLOW_BIT, a lista przepełnienia nie może zostać opróżniona. Zadanie wiruje w jądrze i nie można go zabić, m.in. przy IORING_SETUP_CQE_MIXED lub manipulacji wskaźnikiem CQ head przez aplikację.
- CVE-2026-99228Niskie ryzyko· EPSS 5%
W jądrze Linux naprawiono błąd w io_uring/io-wq, w którym sygnał kończący pracę mógł zostać utracony. Gdy wątek kończy działanie, jego io-wq jest zamykane, a pracownicy są budzeni sygnałem, ale pracownik, który nie rozpoczął jeszcze pracy, mógł ten sygnał utracić. Prowadziło to do zawieszenia wątku w do_exit() np. przy IORING_OP_OPENAT na FIFO bez pisarza z IOSQE_ASYNC.
- CVE-2026-99227Wysokie
W jądrze Linux w mechanizmie io_uring/waitid występuje błąd licznika referencji, w którym powtarzane nieudane próby anulowania żądania mogą spowodować przepełnienie 31-bitowego pola referencji do zera. Późniejsze anulowanie może wtedy przejąć własność i zakończyć żądanie po raz drugi.
- CVE-2026-99226Niskie ryzyko· EPSS 6%
W jądrze Linux naprawiono błąd use-after-free w funkcji find_keyring_by_name() podczas wyszukiwania nazwanego keyringu. Funkcja czytała keyring->user->uid pod keyring_name_lock, który nie chroni obiektu key_user, więc równoległy KEYCTL_CHOWN mógł zwolnić stary obiekt key_user między odczytem wskaźnika a odczytem UID. Poprawka polega na użyciu inline pola keyring->uid zamiast dereferencji konta właściciela.
- CVE-2026-99225Niskie ryzyko· EPSS 6%
W jądrze Linux występuje luka w funkcji search_process_keyrings_rcu(), która sprawdza ładunek autoryzacji (authorization payload) i zapisane poświadczenia. W wyniku wyścigu (race condition) między wątkiem potomnym helpera request-key a wątkiem żądającym, wskaźnik ładunku może zostać wyzerowany przez request_key_auth_revoke(), co prowadzi do dereferencji NULL i oops jądra.
- CVE-2026-99224Wysokie
W jądrze Linux naprawiono błąd w keyctl_describe_key(), gdzie nazwa typu klucza mogła zostać zwolniona przez wyładowanie modułu (np. AF_RXRPC) w trakcie formatowania opisu klucza. Prowadziło to do użycia zwolnionej pamięci (use-after-free) i błędu page fault w funkcji string(). Poprawka polega na utrzymaniu blokady key->sem przez cały czas wykonywania kasprintf().
- CVE-2026-99223Niskie ryzyko· EPSS 6%
W jądrze Linux indeksy keyringów zawierały adresy jądra (hash wskaźników typu i domeny), co pozwalało nieuprzywilejowanemu użytkownikowi przewidzieć kolejność kluczy i odzyskać adres obrazu jądra, obchodząc KASLR. Poprawka usuwa adresy z całego indeksu, zastępując je leniwie przydzielanymi 64-bitowymi ID hashowanymi kluczem SipHash.
- CVE-2026-99222Niskie ryzyko· EPSS 6%
W jądrze Linux występuje luka use-after-free w obsłudze kluczy. Funkcja keyctl_read_key() sprawdza metodę read typu klucza bez trzymania semafora key->sem, przez co klucz RxRPC może zostać odczytany w trakcie wyładowywania modułu AF_RXRPC, gdy pamięć modułu została już zwolniona.
- CVE-2026-99221Niskie ryzyko· EPSS 7%
W jądrze Linux funkcja trusted_tpm_unseal() kontynuowała działanie po niepowodzeniu odpieczętowania TPM i wywoływała pcrlock(); jeśli pcrlock() się powiodło, jego wynik nadpisywał błąd, przez co instancjonowanie klucza kończyło się sukcesem mimo błędu.
- CVE-2026-99220Niskie ryzyko· EPSS 2%
W jądrze Linux parser PKCS#8 pozostawia pusty slot asym_key_ids, a key_or_keyring_common() bezwarunkowo go dereferencjonuje przy restrykcji key_or_keyring. Nieuprzywilejowany wywołujący może wywołać NULL pointer dereference przez KEYCTL_RESTRICT_KEYRING i add_key(), powodując panikę jądra.
- CVE-2026-99219Niskie ryzyko· EPSS 7%
W jądrze Linux funkcja print_rec() pozostawia zmienne 'modname' i 'offset' niezainicjalizowane, a kallsyms_lookup() ustawia je tylko przy sukcesie. Gdy wyszukiwanie zawiedzie (np. podczas ładowania lub wyładowywania modułu), 'modname' zawiera śmieciową wartość, przechodzi sprawdzenie 'if (modname)' i jest dereferencjonowana przez seq_printf(), powodując błąd general protection fault.
- CVE-2026-99218Wysokie
W jądrze Linux funkcja coredump_finish() zwalnia zaparkowane wątki bez trzymania referencji na zadaniu i poza sekcją RCU. Jeśli klient coredump zostanie wywłaszczony między zapisem a wake_up_process(), wątek może zostać zwolniony, a try_to_wake_up() odwoła się do zwolnionej pamięci.
- CVE-2026-118593Średnie
W kompilacjach jądra Red Hat Enterprise Linux 9 wykryto błąd. Niekompletny backport poprawki CVE-2026-46099 w RHEL 9.6 do 9.10 pozostawił niezrównoważenie local_bh w seg6_input_core(), gdzie ścieżka odrzucenia zwraca z wciąż wyłączonymi dolnymi połówkami. Może to prowadzić do zagłodzenia softirq i odmowy usługi w systemach ze skonfigurowanymi tunelami SRv6. Upstream i RHEL 10 nie są dotknięte.
- CVE-2026-99216Wysokie
W jądrze Linux w sterowniku Hyper-V (hv) występuje błąd polegający na wymuszaniu stanu DISCONNECTED przed wywołaniem vmbus_disconnect(). Powoduje to, że vmbus_initiate_unload() nie odłącza połączenia VMBus, ponieważ sprawdza on stan CONNECTED, w wyniku czego host Hyper-V może nadal wysyłać komunikaty lub przerwania VMBus.
- CVE-2026-99214Niskie ryzyko· EPSS 5%
W jądrze Linux w sterowniku drm/vc4 dla HDMI występuje problem z kolejnością włączania Packet RAM. Gdy dźwięk jest wyzwalany przez obsługę HPD przed przywróceniem obrazu, funkcja vc4_hdmi_write_infoframe() może próbować zapisać infoframe przy wyłączonym Packet RAM, co powoduje ostrzeżenie jądra (splat). Poprawka przenosi włączanie/wyłączanie Packet RAM do hooków Runtime PM.
- CVE-2026-99213Wysokie
W podsystemie vsock jądra Linux przejście ze stanu TCP_ESTABLISHED do TCP_CLOSING przy odebraniu OP_RST może wyścignąć się z pętlą connect. Reset gniazda wciąż obecnego w connected_table może prowadzić do uszkodzenia pamięci, w tym podwójnego dodania do listy i błędu jądra.
- CVE-2026-99212Wysokie
W module net/rds jądra Linux funkcja rds_rdma_cm_event_handler_cmn() zwraca wynik rdma_resolve_route() bezpośrednio do rdma_cm przy zdarzeniu RDMA_CM_EVENT_ADDR_RESOLVED. Synchroniczny błąd powoduje zniszczenie identyfikatora ic->i_cm_id, który nadal jest używany przez RDS, co prowadzi do użycia zwolnionego identyfikatora przy zamykaniu połączenia.
- CVE-2026-99211Niskie ryzyko· EPSS 5%
W podsystemie netlink jądra Linux filtry gniazd mogą używać SKF_NET_OFF i SKF_LL_OFF do odczytu względem nagłówków sieciowych i MAC skb. Producenci netlink mogą rezerwować headroom bez resetowania tych nagłówków, co pozwala filtrowi odbierającego gniazda odczytać dane sprzed zainicjowanej wiadomości i ujawnić zawartość pamięci.
- CVE-2026-99206Niskie ryzyko· EPSS 5%
W jądrze Linux w podsystemie scsi target iscsi występuje wyścig przy aktualizacji parametru uwierzytelniania discovery. Równoczesne otwarcia configfs mogą zwolnić tę samą wartość w iscsi_update_param_value(), powodując podwójne zwolnienie pamięci (double-free).
- CVE-2026-99203Wysokie
W jądrze Linux w obsłudze pipe występuje błąd w fasync_helper() przy równoczesnym włączaniu F_SETFL/FIOASYNC na jednym FIFO O_RDWR. Ścieżka błędu usuwa wcześniej zarejestrowany wpis czytelnika, co prowadzi do use-after-free w send_sigio() i może być wywołane przez nieuprzywilejowanego użytkownika pod presją pamięci.
- CVE-2026-99201Niskie ryzyko· EPSS 5%
W jądrze Linux naprawiono podatność w podsystemie netlink, gdzie klucz tablicy rhashtable zawierał surowy wskaźnik struct net oraz kontrolowany przez użytkownika port ID. Poprzez wielokrotne wiązanie i odwiązywanie wybranych portów NETLINK_USERSOCK nieuprzywilejowany czytelnik mógł odzyskać dolne bity hasha Jenkinsa, a następnie wyszukać offline adres init_net. Rozwiązaniem jest użycie unikalnego, niebędącego adresem net_cookie przestrzeni nazw w kluczu porównania.
- CVE-2026-99192Niskie ryzyko· EPSS 7%
W jądrze Linux sterownik bcmgenet zapisuje first_cb, last_cb i bytes_sent w bloku kontrolnym skb i odczytuje je przy zakończeniu transmisji. Ponieważ ether_setup() pozostawia flagę IFF_TX_SKB_SHARING, stos może ponownie przesłać współdzielony skb wciąż obecny w pierścieniu, nadpisując last_cb i powodując, że wcześniejsze sloty kończą się bez rozliczenia bajtów, co blokuje kolejkę BQL do czasu resetu przez watchdog.
- CVE-2026-99191Niskie ryzyko· EPSS 7%
W jądrze Linux naprawiono błąd w funkcji calipso_skbuff_setattr(), która nieprawidłowo modyfikowała pole payload_len w nagłówku IPv6 dla pakietów BIG TCP (o rozmiarze większym niż IPV6_MAXPLEN). Powodowało to utratę mechanizmu fallback do skb->len w ipv6_payload_len(), co zaburzało działanie nf_tables, conntrack i sch_cake. Poprawka ustawia payload_len za pomocą ipv6_set_payload_len(), zgodnie z zachowaniem ipv6_gro_complete().
- CVE-2026-99190Niskie ryzyko· EPSS 7%
W jądrze Linux funkcja gpiod_set_array_value_complex() po nieudanym wywołaniu gpiochip_set_multiple() zwraca wynik natychmiast, pomijając zwolnienie ewentualnie zaalokowanych bitmap. Prowadzi to do wycieku pamięci na mało prawdopodobnej, ale możliwej ścieżce błędu.
- CVE-2026-99187Niskie ryzyko· EPSS 7%
W jądrze Linux funkcja __perf_pmu_remove() usuwa liderów grup podczas iteracji po perf_event_groups_for_cpu_pmu(), a perf_remove_from_context() wyjmuje lidera z drzewa rbtree, przez co rb_next() zwraca NULL i iteracja kończy się przedwcześnie. Pozostałe grupy zostają w źródłowym kontekście i są niszczone dopiero przy wyłączaniu CPU, działając mimo przeniesienia przerwań i zdarzeń PMU na nowy CPU.
- CVE-2026-99185Wysokie
W podsystemie firewire jądra Linux występuje warunek wyścigu w obsłudze transakcji dzielonych (split transaction). Zarówno procedura obsługi odpowiedzi, jak i callback timeoutu mogą przetwarzać ten sam wpis transakcji, co prowadzi do use-after-free po stronie inicjatora transakcji.
- CVE-2026-99182Niskie ryzyko· EPSS 7%
W komponencie ASoC SOF (ipc4-topology) jądra Linux występuje przesunięcie poza zakres przy agregowanym przechwytywaniu ALH. Gdy liczba kanałów jest mniejsza niż liczba urządzeń, obliczenie step = ch_count / device_count daje zero, a GENMASK(step - 1, 0) powoduje niedomknięcie i przesunięcie poza zakres, co wywołuje błąd UBSAN.
- CVE-2026-99181Niskie ryzyko· EPSS 8%
W jądrze Linux w podsystemie autofs naprawiono błąd, w którym opóźniony zapis do zastąpionej rury powiadomień zwracał -EPIPE i ponownie wprowadzał usługę w tryb katatoniczny. Powodowało to zamknięcie nowej rury i zwolnienie kolejek oczekiwania nowej generacji demona, co prowadziło do błędów ENOENT przy wyszukiwaniach. Poprawka sprawia, że tryb katatoniczny jest uruchamiany tylko wtedy, gdy nieudana rura jest nadal aktualną rurą.
- CVE-2026-99180Wysokie
W jądrze Linux naprawiono błąd use-after-free w obsłudze Unicode (mapa UTF-8). Funkcje generic_ci_d_hash() i generic_ci_d_compare() odczytują mapę Unicode podczas pathwalk w trybie RCU, a systemy plików ext4, f2fs i tmpfs zwalniają tę mapę w ->put_super(), gdy znika ostatnie odwołanie do montowania. W rezultacie wyszukiwanie ścieżki może odczytać zwolnioną pamięć.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

