Podatności Linux kernel
10 419 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-98507Wysokie
W jądrze Linux występuje błąd braku bariery pamięciowej między inicjalizacją anon_vma a opublikowaniem wskaźnika vma->anon_vma. W wyniku tego dwa wątki obsługujące sąsiadujące VMA mogą jednocześnie wywołać __anon_vma_prepare(), co prowadzi do użycia zwolnionej pamięci (UAF) i zakleszczenia na blokadzie anon_vma->root->rwsem. Objawia się to zawieszeniem zadania (hungtask) na platformach arm64.
- CVE-2026-98506Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja dissolve_free_hugetlb_folio() nie sprawdza hstate_is_gigantic_no_runtime(h), mimo że remove_hugetlb_folio()/update_and_free_hugetlb_folio() po cichu pomijają takie folio. W efekcie zwalniane jest folio wciąż znajdujące się na liście, a przy niepowodzeniu przywracania vmemmap wycofanie add_hugetlb_folio() uszkadza wolną listę.
- CVE-2026-98505Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja damon_hugetlb_mkold() odczytuje wpis tablicy stron do zmiennej lokalnej, usuwa bit dostępu i zapisuje zaktualizowaną wartość z powrotem. Jeśli sprzęt równolegle aktualizuje ten sam wpis, aktualizacje sprzętowe (np. bity dirty) mogą zostać utracone. Poprawka używa huge_ptep_get_and_clear() do atomowego czyszczenia wpisu przy odczycie.
- CVE-2026-98504Niskie ryzyko· EPSS 9%
W jądrze Linux funkcje of_pci_prop_bus_range() i of_pci_prop_intr_map() dereferencjonują pdev->subordinate bez sprawdzenia, czy mostek PCI ma przydzieloną magistralę podrzędną. Gdy CONFIG_PCI_DYNAMIC_OF_NODES jest włączone, może to spowodować NULL pointer dereference i zawieszenie systemu podczas wczesnego rozruchu.
- CVE-2026-98503Niskie ryzyko· EPSS 9%
W jądrze Linux naprawiono podatność w mechanizmie AF_PACKET dotyczącym transmisji przez TX_RING. Slot pierścienia mógł zostać zwolniony i ponownie użyty, gdy skb był jeszcze do niego podłączony, ponieważ skb_orphan wywoływał destruktor przed zwolnieniem skb. Zmieniono mechanizm na standardowe ukończenie zerocopy (ubuf_info), dzięki czemu slot jest zwalniany dopiero po usunięciu lub skopiowaniu wszystkich odwołań do danych.
- CVE-2026-98502Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik HID alps (alps_input_configured()) alokuje i rejestruje drugie urządzenie wejściowe 'DualPoint Stick', ale struktura alps_driver nie ma procedury .remove, a input2 nie jest śledzone w hdev->inputs. Domyślna ścieżka usuwania (hid_hw_stop -> hidinput_disconnect) iteruje tylko po hdev->inputs, więc input2 nigdy nie jest wyrejestrowywane i wycieka przy każdym usunięciu urządzenia.
- CVE-2026-98501Wysokie
W jądrze Linux w funkcji alps_input_configured() sterownika HID alps wskaźnik data->input2 jest zapisywany przed rejestracją urządzenia wejściowego. Jeśli rejestracja się nie powiedzie, input_free_device() zwalnia pamięć, ale data->input2 nadal wskazuje na zwolniony obszar, co przy aktywnych URB może prowadzić do use-after-free.
- CVE-2026-98500Niskie ryzyko· EPSS 8%
W jądrze Linux funkcja oxp_hid_remove() sterownika HID hid-oxp używa cancel_delayed_work(), które nie czeka na zakończenie aktualnie wykonywanego callbacku. Jeśli callback (np. oxp_rgb_queue_fn) działa w trakcie usuwania, kontynuuje dostęp do urządzenia HID po jego zamknięciu i zatrzymaniu.
- CVE-2026-98499Wysokie
W jądrze Linux funkcja wacom_wac_pen_serial_enforce() sterownika HID wacom może obliczyć nieprawidłowy offset przekazywany do hid_field_extract(), powodując odczyt pamięci poza końcem raportu. Wartość trafia do wacom_wac->serial[0] i może zostać ujawniona użytkownikowi jako zdarzenie MSC_SERIAL.
- CVE-2026-98498Niskie ryzyko· EPSS 11%
W jądrze Linux w funkcji mlx5_tc_ct_shared_counter_get() sterownika net/mlx5, gdy znaleziony zostanie wpis odwrotny, ale jego licznik jest już zwalniany, refcount_inc_not_zero() zawodzi i referencja pobrana przez mlx5_tc_ct_entry_get() nie jest zwalniana przed przejściem do create_counter.
- CVE-2026-98497Wysokie
W jądrze Linux funkcja mlx5e_ipsec_policy_mask() sterownika net/mlx5e buduje maski dla polityk IPv6 XFRM, ale setup_fte_addr6() instaluje każdą maskę w przeciwnym polu adresu. Gdy długości prefiksów źródła i celu różnią się, reguła sprzętowa może pomijać ruch objęty polityką i dopasowywać ruch spoza niej.
- CVE-2026-98496Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja airoha_npu_remove() sterownika net: airoha: npu wywołuje cancel_work_sync() na wdt_work, ale przerwanie watchdog, które je kolejkuje, jest zwalniane dopiero po zakończeniu .remove(). Handler może ponownie zakolejkować pracę, która odwołuje się do zwolnionej pamięci struktury airoha_npu.
- CVE-2026-98495Niskie ryzyko· EPSS 11%
W jądrze Linux ioctl ARP kopiuje strukturę arpreq od użytkownika do obiektu na stosie, a pole arp_dev może zawierać IFNAMSIZ bajtów bez terminatora NUL. Takie dane trafiają do dev_get_by_name_rcu() lub __dev_get_by_name(), gdzie strcmp() może odczytać pamięć poza końcem obiektu na stosie.
- CVE-2026-98494Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik net: atl1 może odczytać wartość cmb_tpd_next_to_clean spoza zakresu (np. 0xffff) podczas resetowania łącza PCIe/MAC. Taka wartość nigdy nie zostanie osiągnięta, więc pętla czyszcząca może kręcić się w nieskończoność, powodując soft lockup.
- CVE-2026-98493Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja ic_dhcp_init_options() sterownika net: ipconfig dopisuje opcje hostname, vendor-class i client-ID do bufora bootp_pkt.exten[] o stałym rozmiarze 312 bajtów. Tylko gałąź client-ID sprawdzała wolne miejsce, więc długie wartości hostname i vendor-class mogą zapisać dane poza końcem bufora.
- CVE-2026-98492Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja macb_alloc() sterownika net: macb ma wycieki pamięci DMA w ścieżkach błędów: bufor Tx przecinający granicę 4G, niepowodzenie alokacji bufora Rx oraz bufor Rx przecinający granicę 4G powodują wyciek buforów Tx i/lub Rx. Obsługa błędów wywołuje macb_free(bp), ale nic nie zostało zapisane w bp->queues[0].
- CVE-2026-98491Wysokie
W jądrze Linux w module openvswitch (conntrack) występuje problem polegający na możliwości modyfikacji współdzielonego, niepotwierdzonego wpisu conntrack. Gdy sklonowany skb z niepotwierdzonym wpisem ct jest zatwierdzany, dochodzi do rozbieżności w zestawie rozszerzeń, co prowadzi do use-after-free na ścieżce niszczenia wpisu.
- CVE-2026-98488Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku atl1e występuje problem soft lockup spowodowany odczytem hw_next_to_clean poza zakresem. Gdy sprzęt zgłasza wartość 0xffff podczas resetu łącza PCIe/MAC, pętla oczyszczania może zapętlić się na zawsze.
- CVE-2026-98487Wysokie
W jądrze Linux w module bridge (mdb) występuje use-after-free spowodowany nieaktualnym kursorem po usunięciu grupy portów. Funkcja br_mdb_flush_pgs() może wskazywać na zwolnioną pamięć, co ujawnia się przy kolejnym RTM_GETMDB.
- CVE-2026-98486Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku ena występuje wyciek bufora odczytu MMIO przy niepowodzeniu probe. Gdy ena_probe() zawiedzie po udanej inicjalizacji urządzenia, bufor DMA nie jest zwalniany.
- CVE-2026-98485Wysokie
W jądrze Linux w module netfilter ip6t_rt występuje odczyt poza zakresem przy dopasowaniu nieścisłym z zerowym adresem. Gdy reguła ma rtinfo->addrnr == 0, spreparowany pakiet IPv6 może spowodować wyjście indeksu poza strukturę ip6t_rt.
- CVE-2026-98484Niskie ryzyko· EPSS 10%
W jądrze Linux w module netfilter nf_tables występuje problem z pomijaniem wygasłych elementów catchall przy wstawianiu i usuwaniu. Rozbieżność predykatów powoduje, że wygasłe elementy są niewidoczne dla użytkownika, ale blokują ponowne wstawienie lub powodują usunięcie niewłaściwego elementu.
- CVE-2026-98483Niskie ryzyko· EPSS 11%
W jądrze Linux w module NFC występuje use-after-free w funkcji nfc_get_local_general_bytes. Po zwolnieniu lokalnego obiektu wskaźnik może być nadal używany przez wywołujących, co prowadzi do UAF.
- CVE-2026-98482Niskie ryzyko· EPSS 11%
W jądrze Linux w module NFC LLCP występuje odczyt niezainicjalizowanej pamięci przy skróconych PDU I/RR/RNR. Funkcja nfc_llcp_recv_hdlc() czyta bajt sekwencji przed sprawdzeniem długości, co pozwala na odczyt jednego bajtu poza danymi pakietu.
- CVE-2026-98481Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik NFC port100 nie sprawdza, czy zadeklarowana przez urządzenie długość ramki (pole datalen) nie przekracza liczby faktycznie odebranych bajtów. Urządzenie może podać zbyt dużą wartość datalen, co powoduje odczyt poza buforem transferu podczas obliczania sumy kontrolnej.
- CVE-2026-98480Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja trf7970a_startup() włącza zasilanie urządzenia NFC przed zastosowaniem opcjonalnej redukcji wzmocnienia RX. Jeśli odczyt lub zapis rejestru się nie powiedzie, funkcja zwraca błąd bez cofnięcia włączenia zasilania, pozostawiając niespójny stan zasilania (niezbalansowane referencje VIN i GPIO enable).
- CVE-2026-98479Wysokie
W jądrze Linux w libiscsi_tcp gałąź obsługi PDU Data-In funkcji iscsi_tcp_hdr_dissect() kopiuje dane do scatterlisty polecenia bez sprawdzenia, czy polecenie było operacją odczytu. Złośliwy cel iSCSI może odpowiedzieć na polecenie WRITE ramką Data-In i nadpisać strony pamięci, które inicjator miał wysłać.
- CVE-2026-98478Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku UFS podczas odzyskiwania po błędzie funkcja ufshcd_err_handling_prepare() wstrzymuje cały tagset, w tym kolejkę pseudo-urządzenia SCSI używaną przez polecenia wewnętrzne. Powoduje to zakleszczenie, ponieważ wewnętrzne polecenia (np. NOP OUT UPIU) nie mogą zostać wysłane na wstrzymanej kolejce.
- CVE-2026-98477Niskie ryzyko· EPSS 6%
W jądrze Linux funkcja perf_pmu_sched_task() przekazuje NULL jako pmu_ctx do pmu->sched_task(), ponieważ zwraca wcześnie, gdy cpuctx->task_ctx jest ustawione. Prowadzi to do dereferencji NULL w armv8pmu_sched_task() i awarii jądra (oops).
- CVE-2026-98476Niskie ryzyko· EPSS 7%
W jądrze Linux na platformie s390 funkcja ccw_device_get_util_str() może otrzymać NULL z chpid_to_chp(), gdy wpis rejestru ścieżki kanału zostanie usunięty, a PMCW podkanału nadal odwołuje się do tego CHPID. Brak sprawdzenia NULL prowadzi do dereferencji NULL.
- CVE-2026-98475Niskie ryzyko· EPSS 6%
W jądrze Linux na platformie s390 w podsystemie cmf adres bloku pomiarowego jest adresem absolutnym, ale pola schib_config i schib nie są zdefiniowane jako dma64_t, co uniemożliwia automatyczne wykrycie błędnych przypisań. Brakuje również konwersji virt_to_dma64(), co powoduje użycie błędnego adresu przez firmware przy zapisie danych pomiarowych w formacie rozszerzonym.
- CVE-2026-98474Niskie ryzyko· EPSS 5%
W jądrze Linux na platformie s390 funkcja zpci_report_status() uzyskuje dostęp do sterownika urządzenia bez trzymania blokady urządzenia, gdy pdev nie jest NULL. Brak blokady może prowadzić do niespójnego stanu względem procesu odzyskiwania.
- CVE-2026-98473Niskie ryzyko· EPSS 6%
W jądrze Linux w module s390/vfio-ap występują trzy powiązane błędy związane z obsługą przerwań KVM i zasobów stron, gdy kolejka jest usuwana z konfiguracji AP hosta, a jest przypisana do urządzenia mediated (mdev). Nieobsłużony kod odpowiedzi AP_RESPONSE_Q_NOT_AVAIL w funkcjach vfio_ap_mdev_reset_queue() i apq_status_check() powoduje wyciek rejestracji KVM GISC oraz przypiętej strony gościa zawierającej bajt wskaźnika powiadomień (NIB). Dodatkowo funkcja vfio_ap_free_aqic_resources() nie czyści saved_isc, gdy kvm ma wartość NULL, co może prowadzić do podwójnego zwolnienia.
- CVE-2026-98472Niskie ryzyko· EPSS 5%
W jądrze Linux w KVM SEV maska CPU "have run CPUs" nie jest zwalniana podczas niszczenia maszyny wirtualnej, jeśli VM nie jest już w trybie SEV (np. po migracji wewnątrzhostowej). Prowadzi to do wycieku pamięci.
- CVE-2026-98471Wysokie
W jądrze Linux w module KVM SEV nie wykonywano ręcznej obsługi pamięci podręcznej na źródłowej maszynie wirtualnej podczas migracji wewnątrz hosta. Po zniszczeniu źródłowej maszyny wirtualnej w pamięciach podręcznych procesora mogły pozostać nieaktualne dane, ponieważ przepływy odzyskiwania pamięci KVM nie wyzwalały takiej obsługi.
- CVE-2026-98470Niskie ryzyko· EPSS 4%
W jądrze Linux w module KVM dla architektury arm64 funkcja kvm_pkvm_ioctl_allowed() wywoływała WARN, gdy numer ioctl nie został znaleziony w tablicy vm_ioctl_caps[]. Wywołanie ioctl z nieznanym numerem z przestrzeni użytkownika powodowało oznaczenie hosta pKVM i panikę przy włączonej opcji panic_on_warn.
- CVE-2026-98469Wysokie
W jądrze Linux w module KVM dla architektury arm64 konsolidacja akcesorów rejestrów punktów przerwania i obserwacji przełączyła DBGBXVR<n> z trap_bvr() na trap_dbg_wb_reg(). Ponieważ DBGBXVR<n> używa Op2 równego 1, dostęp gościa AArch32 trafiał w KVM_BUG_ON() i oznaczał maszynę wirtualną jako martwą.
- CVE-2026-98468Niskie ryzyko· EPSS 9%
W jądrze Linux naprawiono fałszywe ostrzeżenie w KVM na architekturze arm64, pojawiające się podczas łagodnego wyścigu przy niszczeniu tablic stron stage 2. Ostrzeżenie było wywoływane przez równoległe zwolnienie blokady mmu_lock i ustawienie mmu->pgt na NULL, co powodowało zwrócenie -EINVAL i uruchomienie WARN_ON. Poprawka sprawia, że stage2_apply_range() nie traktuje już równoległego niszczenia PGT jako błędu.
- CVE-2026-98467Niskie ryzyko· EPSS 5%
W jądrze Linux w module KVM dla architektury arm64 występuje podatność typu null pointer dereference związana z wyścigiem podczas niszczenia zagnieżdżonego gościa. Równoległe operacje unieważniania zakresu MMU i zwalniania tablicy stron stage 2 mogą spowodować, że wskaźnik kvm->arch.mmu.pgt stanie się NULL i zostanie użyty. Problem rozwiązano poprzez sprawdzenie, czy wskaźnik pgt nie jest NULL przed jego użyciem.
- CVE-2026-98466Wysokie
W jądrze Linux w module KVM dla architektury arm64 funkcja fix_host_ownership() przechodziła tylko przez alias liniowego mapowania każdego regionu memblock. Stos hiperwizora na CPU, mapowany w prywatnym zakresie adresów ze względu na stronę ochronną, nie posiadał takiego aliasu i nie był obejmowany tym przejściem.
- CVE-2026-98465Wysokie
W jądrze Linux wirtualizacja RISC-V KVM nie serializuje operacji na atrybutach IMSIC względem migracji vCPU. Funkcja kvm_riscv_aia_imsic_rw_attr() może zapisać nieaktualne dane (fizyczny CPU i HGEI) przed migracją vCPU, przez co operacja GET lub SET może uzyskać dostęp do pliku przerwań nowego właściciela.
- CVE-2026-98463Niskie ryzyko· EPSS 9%
W jądrze Linux w schedulerze sched_ext flaga SCX_RQ_IN_WAKEUP jest ustawiana na podstawie scalonych flag enqueue, co obejmuje flagi zdalnej aktywacji. move_remote_task_to_local_dsq() ustawia tę flagę na docelowym rq mimo braku wywołania task_woken_scx(), przez co żądanie reenqueue pozostaje oczekujące i może wskazywać na zwolniony obszar per-cpu po wyłączeniu schedulera.
- CVE-2026-98462Niskie ryzyko· EPSS 9%
W jądrze Linux w Bluetooth hci_conn występuje błąd zarządzania referencjami CIS przy ponownym użyciu. hci_bind_cis() pobiera referencję dopiero po konfiguracji CIS, a ścieżki BT_CONNECTED i BT_BOUND zwracają wynik bez referencji; hci_connect_cis() zakłada, że hci_conn_link() zawsze pobiera nową referencję, co nie ma miejsca przy istniejącym łączu.
- CVE-2026-98461Niskie ryzyko· EPSS 11%
W jądrze Linux w Bluetooth hci_sock funkcja is_filtered_packet() odczytuje kod zdarzenia z skb->data[0] bez sprawdzenia, czy bufor nie jest pusty, oraz odczytuje opcode pod offsetami 3 lub 4 bez weryfikacji długości zdarzenia. Złośliwe zdarzenie od kontrolera lub urządzenia vhci może wywołać odczyt poza zakresem bufora.
- CVE-2026-98460Niskie ryzyko· EPSS 7%
W jądrze Linux w Bluetooth hci_sock filtr bezpieczeństwa surowego gniazda HCI maskuje 10-bitowy OCF wartością 127 przed sprawdzeniem polecenia. Nieuprzywilejowane gniazdo może przesłać zarezerwowany OCF, który aliasuje dozwolone polecenie modulo 128, omijając filtr bezpieczeństwa.
- CVE-2026-98459Niskie ryzyko· EPSS 6%
W jądrze Linux w Bluetooth ISO funkcja hci_bind_bis() pobiera wskaźnik nadrzędnego połączenia z hci_conn_hash_lookup_big() bez pobrania referencji. Odłączenie dziecka zwalnia istniejącą referencję rodzica i może zaplanować jego rozłączenie, mimo że gniazdo nadal go używa.
- CVE-2026-98458Niskie ryzyko· EPSS 10%
W jądrze Linux w Bluetooth ISO funkcje hci_bind_cis() i hci_connect_cis() zwracają referencję hci_conn dla warstwy ISO, ale iso_chan_add() nie tworzy asocjacji, gdy gniazdo jest już dołączone do tego samego iso_conn lub gdy inne gniazdo jest dołączone (zwraca -EBUSY). Referencja zwrócona dla bieżącego wywołania pozostaje nieużyta i wycieka.
- CVE-2026-98457Niskie ryzyko· EPSS 8%
W jądrze Linux w Bluetooth L2CAP funkcja l2cap_data_rcv() rozpakowuje dwu- lub czterobajtowe pole kontrolne bez sprawdzenia jego obecności, co przy krótkiej ramce ERTM lub w trybie strumieniowym powoduje odczyt poza zakresem. Dodatkowo przy włączonym CRC16 l2cap_check_fcs() odejmuje dwa od skb->len bez sprawdzenia, co przy zbyt krótkiej ramce powoduje zawinięcie i odczyt poza końcem ramki.
- CVE-2026-98456Wysokie
W jądrze Linux w Bluetooth mgmt funkcja read_unconf_index_list() zlicza nieskonfigurowane kontrolery przed alokacją odpowiedzi, a następnie ponownie sprawdza flagi urządzeń podczas wypełniania. Podczas asynchronicznej konfiguracji kontrolera worker może ustawić HCI_UNCONFIGURED i wyczyścić HCI_SETUP między przebiegami, przez co kontroler pominięty w zliczaniu staje się kwalifikowalny w przebiegu wypełniania, powodując zapis poza zakresem tablicy rp->index[].
- CVE-2026-98455Niskie ryzyko· EPSS 7%
W jądrze Linux występuje podatność polegająca na dereferencji NULL w obsłudze getsockopt(SOL_RFCOMM, RFCOMM_CONNINFO). Gdy gniazdo RFCOMM zostało utworzone z włączonym deferred setup, a następnie zdalny peer wyśle ramkę DISC, wskaźnik dlc->session staje się NULL, ale flaga dlc->defer_setup pozostaje ustawiona. Wywołanie getsockopt na takim gnieździe powoduje odwołanie do NULL i awarię jądra (oops).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

