Podatności Linux kernel
10 418 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-98190Niskie ryzyko· EPSS 8%
W jądrze Linux w sterowniku wifi wilc1000 występuje błąd odczytu poza zakresem w ramkach akcji P2P. Krótkie ramki mogą prowadzić do odczytu poza buforem i potencjalnie do awarii systemu. Poprawka odrzuca ramki krótsze niż nagłówek akcji P2P przed ich przetworzeniem.
- CVE-2026-98189Niskie ryzyko· EPSS 8%
W sterowniku wilc1000 w jądrze Linuxa występuje podatność na zapis poza bufor (OOB-write) w funkcji wilc_wlan_handle_isr_ext(). Rozmiar transferu RX pobierany z rejestru stanu przerwań urządzenia nie jest porównywany z rozmiarem bufora rx_buffer, co pozwala złośliwemu urządzeniu SDIO na zapis danych poza bufor. Poprawka odrzuca transfery przekraczające rozmiar bufora RX.
- CVE-2026-98188Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku wifi: p54 funkcje p54_convert_rev0() i p54_convert_rev1() odczytują dane krzywej kalibracyjnej z wpisu EEPROM dostarczonego przez urządzenie, używając liczby kanałów i punktów na kanał pobranych bezpośrednio z tego samego wpisu. Wpis deklarujący więcej danych niż zawiera powoduje odczyt poza buforem EEPROM.
- CVE-2026-98187Niskie ryzyko· EPSS 8%
W sterowniku p54 w jądrze Linuxa pętla PDR_INTERFACE_LIST sprawdza tylko, czy początek rekordu znajduje się we wpisie, zanim odczyta całą strukturę exp_if. Obcięty rekord na końcu powoduje odczyt poza granicę wpisu do sterty poza buforem EEPROM. Poprawka przesuwa się tylko wtedy, gdy pełny rekord nadal mieści się we wpisie.
- CVE-2026-98186Niskie ryzyko· EPSS 8%
W sterowniku mwifiex w jądrze Linuxa funkcja mwifiex_search_oui_in_ie() odczytuje liczbę par kluczy (PTK) z elementu RSN lub WPA w beaconie lub odpowiedzi probe, a następnie przegląda tę liczbę 4-bajtowych OUI, porównując je za pomocą memcmp(). Liczba pochodzi bezpośrednio z elementu dostarczonego przez atakującego i nie jest sprawdzana względem długości elementu, co pozwala na odczyt poza bufor. Poprawka ogranicza przeglądanie do długości elementu.
- CVE-2026-98185Niskie ryzyko· EPSS 8%
W sterowniku mwifiex w jądrze Linuxa funkcja mwifiex_ret_802_11_scan() odejmuje stałe pola odpowiedzi i długość BSS dostarczoną przez firmware od resp->size bez wcześniejszego sprawdzenia, czy te wartości mieszczą się w odpowiedzi. Krótka odpowiedź lub zbyt duża długość BSS może spowodować niedomiar tlv_buf_size i przeglądanie poza odpowiedzią przez parser TLV. Poprawka sprawdza, czy stałe pola i dane BSS mieszczą się przed obliczeniem zakresu TLV.
- CVE-2026-98184Niskie ryzyko· EPSS 12%
W sterowniku mwifiex w jądrze Linuxa funkcja mwifiex_cfg80211_authenticate() wyprowadza długość ramki uwierzytelniającej z req->ie_len i req->auth_data_len, obu typu size_t, ale przechowuje ją w u16. Suma może przekroczyć U16_MAX, co prowadzi do obcięcia długości i przepełnienia bufora sterty podczas kopiowania danych uwierzytelniających. Poprawka oblicza długość w size_t, odrzuca wartości niemożliwe do przedstawienia w u16 i dopiero potem przypisuje do pkt_len.
- CVE-2026-98183Niskie ryzyko· EPSS 5%
W jądrze Linux w podsystemie mac80211 funkcja ieee80211_mesh_preq_size_ok() odczytuje pola PREQ przed sprawdzeniem, czy element zawiera nawet stały nagłówek. Pusty element PREQ powoduje odczyt jednego bajtu poza zadeklarowaną zawartością. Poprawka przenosi wywołanie pomocnicze po obu sprawdzeniach rozmiaru.
- CVE-2026-98182Niskie ryzyko· EPSS 7%
W jądrze Linux w podsystemie mac80211 interfejs monitora może zostać ustawiony jako aktywny bez kolejki TXQ, co prowadzi do dereferencji pustego wskaźnika w sterowniku ath9k. Atakujący z uprawnieniami CAP_NET_ADMIN może wywołać awarię jądra. Poprawka odmawia ustawienia flagi, gdy brak kolejki.
- CVE-2026-98181Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku drm/gud funkcja gud_plane_atomic_check() ma błąd zapisu poza zakresem z powodu nieprawidłowego indeksowania w pętli właściwości. Urządzenie USB może wywołać zapis poza przydzieloną pamięcią, reklamując maksymalną liczbę właściwości. Poprawka usuwa zbędne '+ i'.
- CVE-2026-98180Wysokie
W jądrze Linux w sterownikach drm/msm obiekty msm_ringbuffer i msm_gem_vm zawierają scheduler GPU, który jest zwalniany zwykłym kfree(), podczas gdy użytkownik może nadal uzyskać dostęp do nazwy harmonogramu przez fence. Prowadzi to do użycia po zwolnieniu (use-after-free) dostępnego bez uprawnień przez SYNC_IOC_FILE_INFO. Poprawka używa kfree_rcu().
- CVE-2026-98179Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku drm/amdgpu funkcja amdgpu_pci_remove() wywołuje drm_dev_unplug() przed fini_sw(), przez co iounmap() jest pomijane, co prowadzi do wycieku mapowania BAR przy każdym usunięciu urządzenia. Poprawka usuwa warunek i mapuje bezwarunkowo.
- CVE-2026-98178Niskie ryzyko· EPSS 4%
W jądrze Linux w sterowniku drm/amdgpu funkcja amdgpu_amdkfd_clear_kfd_mapping() zakłada, że kfd_dev ma w pełni wypełnioną tablicę węzłów, co nie jest prawdą, gdy inicjalizacja KFD nie powiedzie się. Może to prowadzić do dereferencji pustego wskaźnika podczas resetu GPU. Poprawka wymaga flagi inicjalizacji KFD.
- CVE-2026-98177Niskie ryzyko· EPSS 4%
W jądrze Linux w sterowniku drm/amdkfd obliczanie rozmiaru pierścienia EOP może powodować niedomiar (underflow) w obliczeniach logarytmicznych, co teoretycznie może prowadzić do nieprawidłowej konfiguracji. Poprawka zmienia wzór na order_base_2(q->eop_ring_buffer_size / 8).
- CVE-2026-98176Niskie ryzyko· EPSS 5%
W jądrze Linux w sterowniku drm/amdkfd obliczanie rozmiaru pierścienia EOP z użyciem ffs może powodować niedomiar (underflow), co teoretycznie może prowadzić do nieprawidłowej konfiguracji. Poprawka zmienia wzór na ffs(q->eop_ring_buffer_size / sizeof(unsigned int) / 4).
- CVE-2026-98175Wysokie
W jądrze Linux w kliencie SMB funkcja clean_demultiplex_info() nie anuluje pracy reconnect, co może prowadzić do użycia po zwolnieniu (use-after-free) podczas zamykania wątku demultipleksera. Poprawka anuluje pracę reconnect przed zwolnieniem serwera.
- CVE-2026-98174Wysokie
W jądrze Linux w kliencie SMB lista rlist w TCP_Server_Info jest nieprawidłowo inicjalizowana (wskaźniki NULL zamiast do siebie), co powoduje, że list_empty() zawsze zwraca fałsz i list_add() dereferencjonuje NULL. Dodatkowo może wystąpić wyścig przy równoczesnym wywołaniu cifs_signal_cifsd_for_reconnect(). Poprawka inicjalizuje listę poprawnie i synchronizuje dostęp.
- CVE-2026-98173Wysokie
W kliencie SMB jądra Linux funkcja cifs_try_adding_channels() przechowuje wskaźnik do następnego interfejsu (niface) poza blokadą iface_lock, zwalniając ją na czas cifs_ses_add_channel(). Równoległe odświeżenie interfejsów może zwolnić ten wpis listy, co prowadzi do użycia po zwolnieniu pamięci (use-after-free) przy odczycie pól iface->rdma_capable/is_active oraz niface->iface_head.next.
- CVE-2026-98172Niskie ryzyko· EPSS 7%
W kliencie SMB jądra Linux, gdy połączenie RDMA zostanie ustanowione przez smbd_get_connection(), ale cifs_get_tcp_session() następnie zawiedzie (np. błąd kthread_create()), ścieżka błędu zwalnia tcp_ses bez wcześniejszego zniszczenia smbd_connection. Powoduje to wyciek zasobu smbd_connection.
- CVE-2026-98171Wysokie
W kliencie SMB jądra Linux funkcja receive_encrypted_standard() przy obsłudze złożonych zaszyfrowanych ramek ma kilka błędów: niezerowany next_buffer po przypisaniu do server->bigbuf (ryzyko use-after-free), nieaktualizowany pdu_length do rozmiaru odszyfrowanego tekstu jawnego, brak odrzucania next_cmd mniejszych niż MID_HEADER_SIZE oraz przepełnienie całkowite w sprawdzaniu górnej granicy.
- CVE-2026-98170Niskie ryzyko· EPSS 11%
W kliencie SMB jądra Linux funkcja move_smb2_ea_to_cifs() ma niewystarczający warunek pętli while (src_size > 0), który pozwala na iterację, gdy pozostały rozmiar jest zbyt mały na pełną strukturę smb2_ea_info. Prowadzi to do odczytów poza zakresem pól ea_name_length i ea_value_length.
- CVE-2026-98169Wysokie
W kliencie SMB jądra Linux funkcja smb3_enum_snapshots() ustawia ret_data_len na sizeof(struct smb_snapshot_array) bez weryfikacji rzeczywistej długości odpowiedzi serwera, gdy snapshot_array_size jest mniejszy niż GMT_TOKEN_SIZE. Krótka odpowiedź powoduje, że ret_data_len przekracza rozmiar retbuf, a następnie copy_to_user() czyta poza końcem bufora.
- CVE-2026-98168Niskie ryzyko· EPSS 9%
W kliencie SMB jądra Linux funkcja cifs_query_reparse_point() sprawdza tylko, czy wskaźnik start znajduje się w odpowiedzi (start >= end), ale nie weryfikuje, czy pozostało wystarczająco miejsca na stały 8-bajtowy nagłówek struktury reparse_data_buffer. Gdy serwer poda DataOffset pozostawiający mniej niż 8 bajtów, odczyty ReparseTag i ReparseDataLength następują poza zakresem.
- CVE-2026-98167Niskie ryzyko· EPSS 11%
W kliencie SMB jądra Linux funkcja receive_encrypted_standard() pozostawia server->total_read na pełnym rozmiarze odszyfrowanej ramki podczas przechodzenia przez pod-PDU złożonej zaszyfrowanej ramki. Powoduje to, że cifs_handle_standard() przekazuje pełny rozmiar do smb2_check_message(), co pozwala obciętym nieostatnim pod-PDU ominąć walidację długości i prowadzi do odczytów poza zakresem w smb2_get_data_area_len().
- CVE-2026-98164Wysokie
W jądrze Linux, w KVM x86/mmu, funkcja kvm_gfn_is_write_tracked() sprawdza tylko dostarczony memslot, ale śledzenie zapisów jest per-przestrzeń adresowa, a strony cienia są współdzielone między przestrzeniami adresowymi. Z SMM, GFN może być śledzony w jednej przestrzeni adresowej, a w drugiej wyglądać na nieśledzony. Poprawka sprawdza najpierw dostarczony slot, a następnie slot dla drugiej przestrzeni adresowej, co zapobiega oznaczaniu górnych stron cienia jako niesynchronizowanych i wyzwalaniu BUG w pte_list_remove().
- CVE-2026-98163Wysokie
W jądrze Linux wykryto podatność w mechanizmie cgroup, dotyczącą iteracji po umierających zadaniach (dying_tasks) z zerowym licznikiem referencji. Błąd powoduje wyścig (race condition), w którym iterator może uzyskać dostęp do zadania po jego zwolnieniu, co prowadzi do użycia po zwolnieniu (use-after-free).
- CVE-2026-98162Średnie
W jądrze Linux w funkcji smb2_tree_connect() serwera SMB (ksmbd) występuje wyciek połączenia drzewa (tree connection). Gdy funkcja ksmbd_iov_pin_rsp() zakończy się niepowodzeniem, nowo utworzone połączenie drzewa nie jest rozłączane, co prowadzi do wycieku zasobów.
- CVE-2026-98161Średnie
W jądrze Linux w podsystemie nvdimm (pmem) funkcja pmem_submit_bio() rejestruje błąd REQ_PREFLUSH, ale kontynuuje kopiowanie danych bio i może nadpisać błąd udanym flushowaniem REQ_FUA. Pozwala to na wykonanie zapisów danych po nieudanym preflushu i zakończenie bio sukcesem mimo naruszonej bariery kolejności.
- CVE-2026-98160Średnie
W jądrze Linux w sterowniku staging rtl8723bs funkcja rtw_sdio_if1_init() zwalnia bufor padapter->HalData za pomocą kfree(), mimo że został on przydzielony przez vzalloc(). Użycie kfree() do zwolnienia bufora opartego na vmalloc może prowadzić do uszkodzenia pamięci.
- CVE-2026-100079Średnie
W jądrze Linux w podsystemie USB Type-C (ucsi) funkcja ucsi_register() tworzy wpisy debugfs dla instancji, ale ucsi_unregister() nie usuwa ich aż do wywołania ucsi_destroy(). Sterowniki takie jak ucsi_glink, które wyrejestrowują i rejestrują tę samą instancję UCSI przy restarcie remoteproc, próbują utworzyć już istniejący katalog debugfs.
- CVE-2026-100078Średnie
W jądrze Linux w sterowniku wifi iwlwifi (mei) funkcja iwl_mei_write_cyclic_buf() otrzymuje nieprawidłowy pierwszy argument — zamiast cldev przekazywany jest wskaźnik q_head. Błąd został naprawiony.
- CVE-2026-100077Średnie
W jądrze Linux w sterowniku drm/msm podczas odzyskiwania GPU nie jest bezpieczne wycofywanie zawieszonego zgłoszenia (submit) przed zakończeniem odzyskiwania GPU. Wycofanie zgłoszenia powoduje zwolnienie buforów BO, do których GPU może wciąż aktywnie uzyskiwać dostęp, co prowadzi do błędów strony (pagefaults).
- CVE-2026-100074Średnie
W jądrze Linux naprawiono błąd w podsystemie BPF, w którym pole BPF_REFCOUNT nie było oznaczane jako unikalne, mimo że powinno być. Poprawka usuwa to przeoczenie.
- CVE-2026-100073Niskie ryzyko· EPSS 3%
W jądrze Linux naprawiono błąd w systemie plików ext4 dotyczący przepełnienia transakcji podczas zapisu zwrotnego. Poprzednia poprawka zbyt agresywnie zmniejszała liczbę rezerwowanych kredytów transakcyjnych, co w niektórych przypadkach prowadziło do niewystarczającej rezerwy. Poprawka używa funkcji ext4_meta_trans_blocks() do prawidłowego oszacowania górnej granicy.
- CVE-2026-100072Niskie ryzyko· EPSS 3%
W jądrze Linux naprawiono problem w podsystemie ACPI, gdzie użycie acpi_get_first_physical_node() w acpi_platform_fill_resource() i acpi_create_platform_device() było niebezpieczne, ponieważ zwrócone urządzenie mogło zostać zwolnione w dowolnym momencie. Poprawka zastępuje tę funkcję funkcją acpi_bus_get_primary_device() i dostosowuje kod, aby wywoływać ją tylko raz.
- CVE-2026-100071Niskie ryzyko· EPSS 5%
W jądrze Linux naprawiono wyciek pamięci w module HSR (High-availability Seamless Redundancy). Gdy funkcja hsr_dev_finalize() zawiedzie po zarejestrowaniu procedury obsługi RX, dynamiczne węzły nauczone w tym oknie nie są zwalniane. Poprawka zwalnia obie bazy danych dynamicznych w ścieżce obsługi błędów.
- CVE-2026-100070Średnie
W jądrze Linux naprawiono błąd w module netfilter nf_nat_sip, gdzie przesunięcie (offset) nie było korygowane, gdy NAT zmniejszał pakiet. Jeśli map_addr() zmienia długość pakietu, coff może wskazywać nieprawidłową pozycję, co może prowadzić do pominięcia kolejnych nagłówków Contact i wycieku wewnętrznych adresów sieciowych.
- CVE-2026-98159Średnie
W jądrze Linux w sterowniku wifi mt76 (mt7921) występuje luka polegająca na braku walidacji rekordów firmware CLC. Loader ufa liczbie regionów i długości każdego rekordu, przez co zniekształcony obraz firmware może spowodować, że wskaźnik tablicy regionów wyprzedzi bufor firmware, pętla rekordów nie będzie się przesuwać lub indeks phy->clc wyjdzie poza zakres.
- CVE-2026-98158Średnie
W jądrze Linux podatność w ppp_async polega na tym, że ścieżka obsługi błędnej ramki zeruje headroom bufora skb, łamiąc gwarancję NET_SKB_PAD. W efekcie kolejna ramka może zostać przetworzona bez wymaganego zapasu, co prowadzi do paniki jądra (skb_under_panic) lub odczytu poza granicami bufora przy kompresji CCP.
- CVE-2026-98157Średnie
W jądrze Linux w podsystemie EDAC/device_sysfs plik sysfs poll_msec używa simple_strtoul(), która przyjmuje unsigned long, podczas gdy docelowe pole poll_msec jest typu unsigned int. W systemach 64-bitowych wartość większa niż UINT_MAX jest po cichu obcinana przy zapisie.
- CVE-2026-98156Wysokie
W jądrze Linux sterownik drm/virtio (virtio-gpu) na domenach Xen PV błędnie decyduje o użyciu DMA API, patrząc tylko na bit VIRTIO_F_ACCESS_PLATFORM. Ponieważ QEMU domyślnie nie ustawia iommu_platform dla virtio-vga, funkcja virtio_gpu_object_shmem_init() opisuje strony bufora ramki hostowi za pomocą sg_phys() używając adresów fizycznych gościa, które w domenie PV wskazują na strony należące do innej domeny.
- CVE-2026-98155Wysokie
W jądrze Linux w sterowniku accel/qaic funkcja resp_worker() pomija sprawdzanie granic obecne w decode_message(), co może prowadzić do odczytu poza końcem alokacji slab, nieskończonych pętli lub paniki jądra. Do wystąpienia problemu konieczne jest wysłanie zniekształconej wiadomości z urządzenia.
- CVE-2026-98154Wysokie
W jądrze Linux w sterowniku nvme-rdma ścieżka queue_rq przy błędzie -EIO zgłasza błąd ścieżki hosta, a następnie nadal wykonuje czyszczenie polecenia i odmapowuje DMA SQE. Ponieważ pomocnik błędu ścieżki kończy żądanie, dochodzi do podwójnego czyszczenia i odmapowania DMA po zakończeniu żądania.
- CVE-2026-98153Niskie ryzyko· EPSS 3%
W jądrze Linux funkcja nvme_query_fdp_info() jest wywoływana dla każdej ścieżki i wypełnia head->nr_plids/head->plids na potrzeby rejestracji FDP, ale nic nie chroni tej pary przed równoczesnym dostępem. Dwie ścieżki skanujące tę samą przestrzeń nazw mogą wywołać wyścig podczas wypełniania tych danych.
- CVE-2026-98152Średnie
W jądrze Linux w module nvmet-rdma występuje wyciek zasobów. Gdy liczba oczekujących kolejek do rozłączenia przekracza limit backlogu, ścieżka połączenia zwalnia jedynie referencję do urządzenia, ale nie zwalnia nowo przydzielonej kolejki ani jej zasobów IB.
- CVE-2026-98151Niskie ryzyko· EPSS 4%
W jądrze Linux występuje błąd w weryfikatorze BPF dotyczący arytmetyki na wskaźnikach w ścieżce spekulatywnej. Podczas przetwarzania operacji dodawania do wskaźnika (r0 += r1) stan rejestru jest migawkowany w momencie, gdy pole var_off i zakres 32-bitowy są niespójne, co prowadzi do naruszenia niezmienników rejestru i ostrzeżenia weryfikatora. Problem dotyczy programów nieuprzywilejowanych i został naprawiony poprzez przeniesienie wywołania __mark_reg32_unbounded() za funkcję sanitize_ptr_alu().
- CVE-2026-98150Wysokie
W jądrze Linux w podsystemie BPF funkcja bpf_map_check_op_flags() porównuje identyfikator CPU z num_possible_cpus() zamiast z nr_cpu_ids i cpu_possible(). Przy rzadkich identyfikatorach CPU (np. maska 0,2-3) nieprawidłowy CPU 1 jest akceptowany, a prawidłowy CPU 3 odrzucany, co prowadzi do błędu strony jądra i paniki.
- CVE-2026-98149Niskie ryzyko· EPSS 5%
W jądrze Linux w podsystemie BPF ścieżki aktualizacji map per-CPU (array, hash, cgroup storage) bez BPF_F_CPU lub BPF_F_ALL_CPUS używają logicznego identyfikatora CPU do obliczenia przesunięcia w buforze, zamiast gęstego przesunięcia. Przy rzadkich identyfikatorach CPU (np. maska 0,2-3) powoduje to nieprawidłowe wartości per-CPU oraz odczyt poza zakresem bufora dla CPU3.
- CVE-2026-98148Średnie
W jądrze Linux w sterowniku drm/gud nie jest weryfikowane, czy flaga GUD_ROTATION_0 znajduje się w maskach obsługiwanych rotacji urządzenia. Urządzenie, które pomija ten bit w GUD_PROPERTY_ROTATION, wywołuje WARN_ON w drm_plane_create_rotation_property().
- CVE-2026-98147Średnie
W jądrze Linux w podsystemie printk użycie WARN_ON() do wykrywania niepowodzenia kthread_run() jest nieprawidłowe, ponieważ __kthread_create_on_node() zwraca -EINTR po otrzymaniu SIGKILL. Powoduje to fałszywe ostrzeżenia jądra w normalnych warunkach.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

