Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90006Niskie ryzyko· EPSS 12%
W jądrze Linux w samples/damon/mtier funkcja damon_sample_mtier_stop() zakłada, że damon_stop() zawsze się powiedzie i zwalnia konteksty DAMON po wywołaniu. Jeśli kontekst jest już zatrzymany, damon_stop() zwraca błąd, pozostawiając działające konteksty, co prowadzi do use-after-free. Problem dotyczy tylko mtier.
- CVE-2026-90005Niskie ryzyko· EPSS 10%
W jądrze Linux w module przykładowym samples/damon/wsse funkcja damon_sample_wsse_start() nie zwalniała pamięci kontekstu DAMON w przypadku niepowodzenia wywołania damon_start(). Prowadzi to do wycieku pamięci, a w szerszym zakresie podobne błędy w obsłudze damon_start() i damon_stop() w modułach przykładowych DAMON mogą powodować zakłócenia kolejnych operacji DAMON oraz use-after-free.
- CVE-2026-90004Niskie ryzyko· EPSS 9%
W jądrze Linux w mm/damon/core funkcja damon_apply_min_nr_regions() zakłada, że damon_split_region_at() zawsze się powiedzie. Przy niepowodzeniu alokacji pamięci i gdy region był ostatni, pobranie następnego regionu zwraca nieprawidłowy wskaźnik, co prowadzi do nieprawidłowego odwołania do pamięci i korupcji. Poprawka przerywa pętle przy każdym niepowodzeniu podziału.
- CVE-2026-90003Wysokie
W jądrze Linux występuje błąd use-after-free w mechanizmie futex podczas operacji requeue PI na jądrze z włączonym PREEMPT_RT. Wyścig między wczesnym wybudzeniem oczekującego wątku a operacją requeue PI może spowodować, że zadanie requeue wywoła rcuwait_wake_up() na strukturze futex_q, która została już zwolniona ze stosu wątku oczekującego. Problem został rozwiązany poprzez pominięcie rcuwait_wake_up() w przypadku stanu Q_REQUEUE_PI_LOCKED.
- CVE-2026-90002Wysokie
W jądrze Linux występuje błąd use-after-free w podsystemie ftrace. Pliki set_ftrace_filter i set_ftrace_notrace dla instancji trace_array używają wskaźnika ftrace_ops z inode->private, który może zostać zwolniony równolegle przez rmdir instancji, co prowadzi do odwołania do zwolnionej pamięci i awarii jądra.
- CVE-2026-90001Wysokie
W jądrze Linux w mechanizmie HID BPF występuje wyścig (race condition) między ścieżką niszczenia urządzenia (__hid_bpf_ops_destroy_device) a wyrejestrowaniem (hid_bpf_unreg), które mogą zwolnić to samo odwołanie do urządzenia dwukrotnie. Prowadzi to do zwolnienia struktury hid_device, podczas gdy funkcja hid_destroy_device() wciąż z niej korzysta, co skutkuje użyciem zwolnionej pamięci (use-after-free). Poprawka serializuje decyzję o zwolnieniu odwołania pod blokadą prog_list_lock.
- CVE-2026-90000Wysokie
W jądrze Linux w sterowniku HID RMI wykryto podatność prowadzącą do odczytu i zapisu poza przydzielonym buforem (OOB). Sterownik alokuje bufory na podstawie rozmiaru raportów zadeklarowanych przez urządzenie, ale bez minimalnego limitu, a następnie zapisuje i odczytuje dane pod stałymi offsetami, co może prowadzić do naruszenia pamięci. Dodatkowo pętla odczytu może się zapętlić, gdy urządzenie odpowiada zerową długością, blokując wątek probe.
- CVE-2026-89998Wysokie
W jądrze Linux występuje wyścig (race condition) w podsystemie device-mapper podczas jednoczesnego ładowania i zwalniania tabeli. Funkcja dm_setup_md_queue przechodzi po liście &md->table_devices bez blokady, co przy równoległym dm_table_destroy może prowadzić do dostępu do nieprawidłowej pamięci.
- CVE-2026-89997Wysokie
W jądrze Linux występuje wyścig (race condition) w podsystemie device-mapper między operacjami resume i remove. Jeśli użytkownik jednocześnie wywoła ioctl resume i remove, urządzenie może zostać wznowione po zawieszeniu w __dm_destroy, przez co tabela jest niszczona bez wywołania metody postsuspend, co łamie oczekiwania celów dm i może prowadzić do use-after-free (np. w dm-integrity).
- CVE-2026-89996Niskie ryzyko· EPSS 11%
W jądrze Linux w interfejsie dma-heap (DMA_HEAP_IOCTL_ALLOC) deskryptor pliku dma-buf był publikowany w tablicy deskryptorów procesu przed zakończeniem kopiowania wyniku do przestrzeni użytkownika. Jeśli końcowe copy_to_user() kończyło się niepowodzeniem, deskryptor pozostawał widoczny dla innych wątków i wyciekał na cały czas życia procesu. Problem naprawiono, zmieniając kolejność operacji tak, aby instalacja deskryptora była ostatnim, niepodlegającym błędowi krokiem.
- CVE-2026-89995Wysokie
W jądrze Linux funkcja dma_direct_alloc_from_pool() zwraca adres CPU zamiast wskaźnika struct page *, co jest niezgodne z oczekiwaniami funkcji dma_direct_alloc_pages(). Błąd wynika ze zmiany wprowadzonej w commicie 5b138c534fda i może prowadzić do nieprawidłowego działania lub awarii.
- CVE-2026-89994Wysokie
W jądrze Linux sterownik dmaengine fsl-edma w zdarzeniach tracingu przechowuje wskaźnik do struct fsl_edma_engine i dereferencjonuje go przy wypisywaniu wpisu logu, gdy wskaźnik może już być nieprawidłowy. Iniekcja zdarzeń (np. przez plik inject) może wywołać awarię jądra.
- CVE-2026-89993Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik dmaengine dw-edma przekazuje struct dw_edma_irq do request_irq() przed ustawieniem wskaźnika zwrotnego przez dw_edma_channel_setup(). Współdzielone przerwanie może wejść do handlera, gdy dw_irq->dw jest jeszcze NULL, powodując dereferencję wskaźnika NULL.
- CVE-2026-89992Wysokie
W jądrze Linux funkcja dt_idle_pd_alloc() przydziela pamięć na pełną ścieżkę węzła, a następnie ustawia pd->name na wskaźnik do basename() tej ścieżki. Funkcja dt_idle_pd_free() zwalnia pd->name, który nie wskazuje już na początek alokacji, co prowadzi do nieprawidłowego zwolnienia pamięci.
- CVE-2026-89991Niskie ryzyko· EPSS 10%
W jądrze Linux naprawiono błąd w mechanizmie pcpu_freelist BPF, który powodował nieskończoną pętlę w funkcji __pcpu_freelist_push(). Problem występuje, gdy system ma tylko jeden możliwy CPU (np. CONFIG_SMP=n, nr_cpus=1 lub possible_cpus=1), a przerwanie NMI ponownie wchodzi do pcpu_freelist_push() w momencie, gdy przerwany kontekst trzyma blokadę freelisty tego CPU. Pętla awaryjna nie ma wtedy żadnego innego CPU do sprawdzenia i nigdy nie może zdobyć blokady.
- CVE-2026-89989Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja validate_hash_algo() przekazuje wynik dentry_path() bezpośrednio do integrity_audit_msg() bez sprawdzenia, czy nie jest to ERR_PTR. Gdy ścieżka przekracza bufor, dentry_path() zwraca ERR_PTR(-ENAMETOOLONG), co prowadzi do wywołania strlen() na nieprawidłowym wskaźniku i błędu strony.
- CVE-2026-89988Wysokie
W jądrze Linux funkcja __within_kprobe_blacklist() przegląda listę kprobe_blacklist bez trzymania kprobe_mutex. Gdy moduł jest usuwany, wpisy są natychmiast zwalniane, co może prowadzić do użycia po zwolnieniu (use-after-free) w równoczesnym wywołaniu within_kprobe_blacklist().
- CVE-2026-89987Niskie ryzyko· EPSS 11%
W jądrze Linuxa wykryto podatność w obsłudze ogromnych stron pamięci (huge pages) dla systemu plików tmpfs. Podczas usuwania mapowania (zap) bit dirty z wpisu PMD nie jest przenoszony do folio, co prowadzi do utraty informacji o zapisie danych. W rezultacie dane w segmentach MAP_SHARED tmpfs mogą zostać cicho utracone podczas odmapowania, jeśli strona jest zmapowana jako PMD i włączony jest swap.
- CVE-2026-89986Wysokie
W jądrze Linux funkcja alloc_pages_bulk_weighted_interleave() używa flagi GFP_KERNEL podczas alokacji tablicy wag, nawet gdy jest wywoływana w kontekście atomowym/RCU. Może to prowadzić do wywołania funkcji usypiającej w nieprawidłowym kontekście i ostrzeżenia might_alloc().
- CVE-2026-89985Wysokie
W jądrze Linux funkcja memcg_reparent_objcgs() zakłada, że objcg folio jest zgodny z węzłem folio. Migracja folio między węzłami łamie to założenie, prowadząc do niespójności i potencjalnego użycia niewłaściwej blokady LRU, co może skutkować uszkodzeniem danych lub awarią.
- CVE-2026-89984Niskie ryzyko· EPSS 11%
W jądrze Linux występuje luka w module perf/x86/intel, która pozwala na wyciek adresów jądra do przestrzeni użytkownika. Funkcja intel_pmu_lbr_filter() nie sprawdzała w pełni poziomu uprawnień próbkowanych wpisów, przez co stos LBR mógł zawierać adresy jądra nawet przy filtrze PERF_SAMPLE_BRANCH_USER. Poprawka rozszerza filtrowanie programowe o weryfikację zarówno adresu źródłowego, jak i docelowego względem br_sel.
- CVE-2026-89983Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja i2c_del_adapter() zwalnia katalog debugfs adaptera przed wyrejestrowaniem urządzenia, ale atrybut new_device pozostaje zapisywalny. Wyścig między zapisem a usunięciem może prowadzić do użycia po zwolnieniu (use-after-free) w i2c_device_probe().
- CVE-2026-89982Niskie ryzyko· EPSS 11%
W jądrze Linuxa w podsystemie i2c mux występuje wyciek referencji do węzła Device Tree podczas nieudanej rejestracji adaptera. Funkcja i2c_mux_add_adapter() pobiera referencję do węzła kanału przed rejestracją, ale w przypadku błędu nie zwalnia jej, co prowadzi do wycieku pamięci.
- CVE-2026-89981Niskie ryzyko· EPSS 9%
W jądrze Linuxa dla architektury arm64 występuje problem z odczytem rejestru GMID_EL1, gdy funkcja MTE jest wyłączona. Odczyt jest wykonywany nawet wtedy, gdy MTE jest wyłączone, co w środowisku pKVM prowadzi do błędu Undefined instruction i paniki jądra.
- CVE-2026-89980Wysokie
W jądrze Linuxa w sterowniku ALSA harmony występuje problem z inicjalizacją zamków (locków) przed rejestracją przerwania. Rejestracja IRQ odbywa się przed inicjalizacją h->lock i h->mixer_lock, co może prowadzić do użycia niezainicjalizowanych zamków przez procedurę obsługi przerwań.
- CVE-2026-89979Wysokie
W jądrze Linux występuje wyścig (race condition) między nieatomowymi operacjami ALSA PCM (hw_params, hw_free, prepare) a atomową operacją trigger-start. Podczas gdy jeden wątek wykonuje operację nieatomową, inny wątek może uruchomić strumień PCM, co prowadzi do niespójności stanu i ostrzeżeń ODEBUG zgłaszanych przez syzkaller. Poprawka blokuje trigger-start w trakcie trwania operacji nieatomowych poprzez sprawdzenie wartości runtime->buffer_accessing.
- CVE-2026-89978Niskie ryzyko· EPSS 10%
W jądrze Linuxa w akceleratorze amdxdna występuje problem z operacją SYNC_BO o zerowej długości. Żądanie zerowej liczby bajtów prowadzi do wywołania funkcji drm_clflush_virt_range(), która wykonuje operację na adresie przed mapowaniem, powodując błąd strony i awarię systemu.
- CVE-2026-89977Niskie ryzyko· EPSS 9%
W jądrze Linuxa w akceleratorze ethosu występuje problem z brakiem sprawdzenia błędów mapowania MMIO podczas inicjalizacji. Funkcja devm_platform_ioremap_resource() może zwrócić wskaźnik błędu, który jest następnie używany bez sprawdzenia, co prowadzi do awarii.
- CVE-2026-89976Niskie ryzyko· EPSS 9%
W jądrze Linuxa w akceleratorze ethosu występuje problem z czyszczeniem płotka (fence) po zakończeniu zadania. W niektórych ścieżkach błędów płotek nie jest inicjalizowany, a następnie zwalniany, co prowadzi do wycieku pamięci lub użycia niezainicjalizowanych danych.
- CVE-2026-89975Niskie ryzyko· EPSS 11%
W jądrze Linuxa w podsystemie nvme-fabrics występuje wyciek sekretu DHCHAP podczas nieudanego parsowania opcji. Funkcja nvmf_parse_options() duplikuje sekret przed walidacją, a w przypadku błędu nie zwalnia tymczasowego łańcucha, co prowadzi do wycieku pamięci.
- CVE-2026-89974Wysokie
W jądrze Linuxa w podsystemie nvme-fc występuje podwójne zwolnienie pamięci opcji fabrics, gdy funkcja nvme_add_ctrl() zakończy się niepowodzeniem. Błąd został wprowadzony przez commit 1a9e218195a5 i może być wywołany przy braku pamięci lub wstrzykiwaniu błędów, prowadząc do użycia po zwolnieniu (use-after-free).
- CVE-2026-89973Wysokie
W jądrze Linux w funkcji nvme_tcp_handle_c2h_data() brakowało sprawdzenia kierunku danych dla PDU typu C2HData. Złośliwy lub błędnie działający kontroler NVMe/TCP mógł odpowiedzieć na polecenie zapisu ramką C2HData, co prowadziło do ostrzeżenia jądra (WARN_ON_ONCE) i zresetowania kontrolera. Nie dochodzi do uszkodzenia pamięci, ponieważ żadne dane nie są kopiowane.
- CVE-2026-89971Wysokie
W jądrze Linux występuje luka w obsłudze błędów w sterowniku NVMe. Funkcja nvme_update_ns_info_block() sprawdza tylko ujemne kody błędów, pomijając dodatnie kody statusu NVMe zwracane przez nvme_query_zone_info(). Gdy urządzenie, firmware lub cel NVMe-oF nie wykona polecenia Identify, konfiguracja jest kontynuowana z wyzerowanymi informacjami o strefach, co prowadzi do przesunięcia o ujemny wykładnik (shift-out-of-bounds) i dalszego przesyłania I/O do kolejki strefowej z zerowym rozmiarem strefy.
- CVE-2026-89968Wysokie
W jądrze Linuxa wykryto podatność w podsystemie nvmet-tcp. Serwer NVMe-over-TCP akceptuje niechciane pakiety H2CData bez sprawdzenia, czy wysłano żądanie R2T dla danego polecenia. Zdalny atakujący może to wykorzystać, powodując podwójne dodanie polecenia do listy odpowiedzi, co prowadzi do zawieszenia systemu (soft-lockup) lub paniki jądra (kernel BUG).
- CVE-2026-89967Wysokie
W jądrze Linux funkcje migrate_device_range() i migrate_device_pfns() czyszczą wpisy po złożonym folio bez ograniczenia ich liczby do rozmiaru tablicy npages. Jeśli złożone folio wykracza poza koniec zakresu podanego przez wywołującego, pętle powodują zapis poza granicami tablicy.
- CVE-2026-89966Niskie ryzyko· EPSS 9%
W jądrze Linux wykryto podatność w mechanizmie alokacji stron hugetlb z CMA. Funkcja hugetlb_cma_alloc_frozen_folio nie obsługuje poprawnie sytuacji, gdy nodemask jest NULL, co prowadzi do dereferencji wskaźnika NULL i paniki jądra. Nieuprzywilejowany użytkownik może wywołać awarię systemu, żądając alokacji gigantycznej strony z polityką MPOL_PREFERRED_MANY w systemie z CMA skonfigurowanym tylko na części węzłów NUMA.
- CVE-2026-89965Wysokie
W jądrze Linux pole nfree w bloku informacyjnym BTT jest odczytywane z nośnika bez walidacji. Funkcje btt_freelist_init() i btt_rtt_init() rozmiarują tablice freelist[] i rtt[] na podstawie nfree, ale ścieżka I/O indeksuje je numerem lane ograniczonym przez num_lanes, a nie przez nfree. Arena z nfree mniejszym niż liczba lane powoduje zapis poza granicami alokacji.
- CVE-2026-89964Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja eisa_irq_setup() przy nieprawidłowej wartości parametru wiersza poleceń "eisa_irq_edge=" wypisuje komunikat błędu i kontynuuje bez przesunięcia bieżącej pozycji. Powoduje to wielokrotne parsowanie tej samej nieprawidłowej wartości i nieskończoną pętlę podczas rozruchu jądra.
- CVE-2026-89963Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja kexec_extra_fdt_size_ppc64() może wywołać dereferencję wskaźnika NULL. Na platformach bez zarezerwowanych regionów pamięci get_reserved_memory_ranges() może zwrócić 0, pozostawiając 'rmem' jako NULL, a następnie odwołanie do 'rmem->nr_ranges' powoduje panikę jądra.
- CVE-2026-89962Niskie ryzyko· EPSS 11%
W jądrze Linux w funkcji __merge_memory_ranges() (powerpc/kexec_file) występuje błąd logiki scalania nakładających się zakresów pamięci. Funkcja porównuje początek bieżącego zakresu z poprzednim elementem zamiast z bieżącym indeksem docelowym i bezwarunkowo nadpisuje koniec zakresu, co prowadzi do obcięcia prawidłowych zakresów pamięci. W efekcie fragmenty pamięci mogą zostać pominięte na listach wykluczeń kexec, co grozi nadpisaniem aktywnej pamięci przez jądro awaryjne.
- CVE-2026-89961Wysokie
W jądrze Linux w funkcji vmemmap_populate_compound_pages() (architektura powerpc) zmienna addr_pfn była zwiększana ręcznie w sposób niezgodny z postępem pętli po adresach vmemmap. Powodowało to błędne wyliczenie pfn_offset i podejmowanie decyzji o mapowaniu head/tail dla niewłaściwej pozycji strony złożonej.
- CVE-2026-89960Wysokie
W jądrze Linux w funkcji vfio_ap_mdev_set_kvm() wskaźnik kvm->arch.crypto.pqap_hook jest ustawiany przed sprawdzeniem, czy inne urządzenie mdev nie jest już przypisane do tej samej instancji KVM. W przypadku błędu funkcja zwraca -EPERM bez przywrócenia wskaźnika, co prowadzi do pozostawienia nieaktualnego wskaźnika i potencjalnego use-after-free przy wykonaniu instrukcji PQAP przez gościa.
- CVE-2026-89959Wysokie
W jądrze Linux funkcja vfio_ap_config_remove używała bitmap_andnot do czyszczenia bitów w bitmapie matrix_mdev->matrix.adm, co uniemożliwiało usunięcie jawnie odłączonych domen kontrolnych z gościa KVM. Poprawka zastępuje bitmap_andnot funkcją bitmap_and.
- CVE-2026-89958Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku s390/vfio-ap występuje podatność polegająca na braku sprawdzenia, czy wskaźnik matrix_mdev->kvm nie jest NULL przed pobraniem mutexa matrix_mdev->kvm->lock. Jeśli matrix_mdev->kvm nigdy nie został ustawiony, próba pobrania blokady powoduje dereferencję wskaźnika NULL. Poprawka dodaje sprawdzenie matrix_mdev->kvm == NULL przed pobraniem mutexa.
- CVE-2026-89957Wysokie
W jądrze Linux funkcja vfio_ap_mdev_hot_unplug_cfg() używała wartości zwracanej bitmap_andnot() do decyzji o aktualizacji APCB gościa. Gdy wynikowa bitmapa była pusta, funkcja zwracała false i aktualizacja nie następowała, pozostawiając gościowi KVM dostęp do odłączonych urządzeń AP.
- CVE-2026-89956Niskie ryzyko· EPSS 11%
W jądrze Linux wykryto podatność w podsystemie s390/vfio-ap, polegającą na braku wymaganego zamka (mutex guests_lock) podczas dostępu do listy obiektów ap_matrix_mdev. Dwie funkcje (vfio_ap_mdev_probe i vfio_ap_mdev_for_queue) uzyskiwały dostęp do listy bez odpowiedniego zabezpieczenia, co mogło prowadzić do uszkodzenia pamięci jądra lub użycia po zwolnieniu (use-after-free) przy współbieżnym tworzeniu lub usuwaniu urządzeń.
- CVE-2026-89955Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja vfio_ap_mdev_probe_queue() tworzyła grupę atrybutów sysfs, zanim ustawiono dane sterownika kolejki. Współbieżny odczyt atrybutu 'status' mógł wywołać dev_get_drvdata() zwracające NULL, co prowadziło do dereferencji NULL w vfio_ap_mdev_for_queue().
- CVE-2026-89954Wysokie
W jądrze Linux parser AFS v2 używa footer[8] do zlokalizowania bloku informacji obrazu w bloku wymazywania, a następnie region_count do przejścia po wpisach lokalnej tablicy. Przesunięcie i liczba regionów pochodzą z zawartości flash i nie były sprawdzane przed użyciem.
- CVE-2026-89953Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja mtdoops_notify_add() alokuje bitmapę oops_page_used przy rejestracji urządzenia MTD, ale mtdoops_notify_remove() nie zwalnia jej. Ponowna rejestracja tego samego urządzenia MTD powoduje wyciek jednej alokacji vmalloc na każdy cykl remove/add.
- CVE-2026-89952Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja nand_flash_detect_ext_param_page() przydziela pamięć na podstawie długości zadeklarowanej w stronie parametrów ONFI, a następnie odczytuje nagłówek i sekcje zmiennej długości bez weryfikacji, czy mieszczą się one w przydzielonym buforze. Brak walidacji może prowadzić do odczytu poza granicami bufora. Poprawka odrzuca zbyt krótkie strony, śledzi pozostały obszar i wymaga, aby sekcja ECC zawierała wszystkie odczytywane pola.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

