Podatności Linux kernel
7561 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-98162Nieznane
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-98161Nieznane
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-98160Nieznane
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-100079Nieznane
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-100078Nieznane
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-100077Nieznane
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-100074Nieznane
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-100073Nieznane
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-100072Nieznane
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-100071Nieznane
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-100070Nieznane
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-98159Nieznane
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-98158Nieznane
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-98157Nieznane
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-98155Nieznane
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-98153Nieznane
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-98152Nieznane
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-98151Nieznane
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-98149Nieznane
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-98148Nieznane
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-98147Nieznane
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.
- CVE-2026-98146Nieznane
W jądrze Linux w sterowniku accel/amdxdna struktura amdxdna_cmd_chain zawiera elastyczną tablicę z adnotacją __counted_by(command_count). Ponieważ struktura jest przechowywana w pamięci współdzielonej AMDXDNA_BO_SHARE, przestrzeń użytkownika może równolegle zmienić command_count na zero, co powoduje niepowodzenie sprawdzania zakresu i panikę jądra.
- CVE-2026-98145Nieznane
W jądrze Linux w sterowniku accel/amdxdna łańcuch poleceń z command_count równym zero przechodzi sprawdzanie długości ładunku, a pętla wypełniania się nie wykonuje. Na firmware bez AIE2_NPU_COMMAND żądanie jest odrzucane, ale na firmware z aie2_get_npu_chain_msg_op() trafia do drm_clflush_virt_range(cmd_buf, 0), co powoduje odczyt bajtu przed buforem i błąd na stronie ochronnej vmap.
- CVE-2026-98144Nieznane
W jądrze Linux w sterowniku accel/amdxdna funkcja amdxdna_cmd_set_error() pobiera referencję do pierwszego BO łańcucha poleceń, ale w ścieżce błędu mapowania nie zwalnia jej, powodując wyciek referencji. Ścieżka jest osiągalna, gdy uchwyt BO zostanie poddany recyklingowi przez przestrzeń użytkownika po przesłaniu, a następnie zaimportowany zostanie dma-buf bez implementacji vmap.
- CVE-2026-98143Wysokie
W jądrze Linux w sterowniku accel/ethosu bity 15:14 rejestru NPU_SET_{IFM,OFM}_PRECISION wybierają tryb przechowywania aktywacji tylko na U85; na U65 to samo pole zawiera tryb zaokrąglania. Parser strumienia poleceń odczytuje je jako tryb przechowywania, co powoduje odrzucanie prawidłowych strumieni U65 z -EINVAL oraz błędne obliczenia rozmiaru mapy cech.
- CVE-2026-98142Nieznane
W jądrze Linux sterownik drm/cirrus-qemu nie sprawdzał rozmiaru BAR0 podczas wykrywania urządzenia PCI. Jeśli urządzenie miało BAR0 mniejsze niż 4 MB (CIRRUS_VRAM_SIZE), sterownik mapował mniejszy obszar VRAM, a następnie mógł tworzyć większe bufor ramki i kopiować je poza zmapowaną pamięć, powodując błąd zapisu strony (page fault) w jądrze.
- CVE-2026-98134Nieznane
W jądrze Linux występuje luka w weryfikatorze BPF, która pozwala błędnie wywnioskować, że wskaźnik nie może być NULL. Błąd występuje przy porównywaniu dwóch wskaźników, gdy jeden z nich ma typ bez flagi PTR_MAYBE_NULL, ale w czasie działania może przyjąć wartość NULL. W efekcie weryfikator nie wykrywa dereferencji wskaźnika NULL, co może prowadzić do awarii lub wykonania nieautoryzowanego kodu.
- CVE-2026-98132Nieznane
W jądrze Linux weryfikator BPF mógł niepoprawnie przekształcać zapisy zerowe na stosie (scalar zero spill) w STACK_ZERO, gdy część zapisanych bajtów była już martwa. Takie przekształcenie łamało łańcuchy propagacji precyzji, co mogło prowadzić do błędnej weryfikacji programów BPF. Poprawka najprościej rezygnuje z konwersji zapisów zerowych na STACK_ZERO.
- CVE-2026-98131Nieznane
W sterowniku sieciowym stmmac w jądrze Linux funkcja stmmac_tso_xmit() nie zwalniała mapowań DMA utworzonych dla części liniowej i wcześniejszych fragmentów skb, gdy mapowanie DMA kolejnego fragmentu się nie powiodło. Prowadziło to do wycieku mapowań DMA. Poprawka zwalnia deskryptory i mapowania DMA przy użyciu stmmac_free_tx_buffer() i stmmac_release_tx_desc().
- CVE-2026-98130Wysokie
W jądrze Linux w obsłudze SCTP_CMD_TIMER_START występuje wyścig TOCTOU: sprawdzenie timer_pending() przed timer_reduce() może spowodować, że timer wygaśnie i zostanie odłączony pomiędzy tymi operacjami. Wtedy timer_reduce() uzbroi timer bez pobrania referencji do asocjacji, co prowadzi do niezrównoważenia licznika referencji i use-after-free podczas niszczenia asocjacji. Poprawka używa wartości zwracanej przez timer_reduce() do ustalenia, czy timer został faktycznie uzbrojony.
- CVE-2026-98129Nieznane
W jądrze Linux w sterowniku scsi mpi3mr funkcja mpi3mr_sas_port_add() nie sprawdza wartości NULL zwracanej przez sas_port_alloc_num() przy niepowodzeniu alokacji pamięci, co prowadzi do dereferencji NULL. Dodatkowo, gdy sas_port_add() zawiedzie, zaalokowany port nie jest zwalniany, co powoduje wyciek struktury sas_port. Poprawka dodaje sprawdzenie NULL i wywołanie sas_port_free().
- CVE-2026-98128Nieznane
W jądrze Linux w sterowniku scsi mpi3mr funkcja mpi3mr_sas_port_add() nie zwalnia referencji do urządzenia docelowego (tgtdev) w ścieżce błędu out_fail, jeśli referencja została wcześniej pobrana przez mpi3mr_get_tgtdev_by_addr(). Prowadzi to do wycieku licznika referencji i uniemożliwia zwolnienie struktury urządzenia docelowego. Poprawka dodaje zwolnienie referencji w out_fail z zabezpieczeniem NULL.
- CVE-2026-98127Nieznane
W jądrze Linux w kliencie SMB funkcja smb3_insert_range() nie sprawdza, czy nowy rozmiar pliku (i_size + len) jest prawidłowy. Pozwala to operacji FALLOC_FL_INSERT_RANGE obejść limit RLIMIT_FSIZE, przekroczyć s_maxbytes lub utworzyć rozmiar poza zakresem loff_t. Poprawka używa check_add_overflow() do obliczenia nowego EOF i waliduje go przez inode_newsize_ok().
- CVE-2026-98126Nieznane
W kliencie SMB w jądrze Linux funkcja smb3_zero_range() może rozszerzyć EOF pliku bez sprawdzenia limitu RLIMIT_FSIZE, gdy używane jest FALLOC_FL_ZERO_RANGE bez FALLOC_FL_KEEP_SIZE. Poprawka dodaje wywołanie inode_newsize_ok() przed wysłaniem żądania zero-range, gdy operacja rozszerzałaby EOF.
- CVE-2026-98123Nieznane
W jądrze Linux wykryto podatność w implementacji protokołu SCTP, polegającą na niezgodnym iterowaniu parametrów ASCONF-ACK między funkcjami weryfikującymi a konsumującymi. Atakujący może wysłać spreparowany pakiet ASCONF-ACK, powodując zapętlenie w kontekście softirq i doprowadzając do miękkiego zawieszenia systemu (soft lockup), co stanowi zdalną odmowę usługi. Dodatkowo brak walidacji długości parametru SCTP_PARAM_ERR_CAUSE umożliwia odczyt poza granicami bufora.
- CVE-2026-98122Wysokie
W jądrze Linux występuje podatność use-after-free w funkcji vxlan_mdb_remote_src_del() związanej z obsługą wpisów MDB dla VXLAN. Funkcja vxlan_mdb_is_valid_source() akceptuje adres źródłowy składający się z samych zer, co pozwala na aliasowanie kluczy wpisów (*, G) i (S, G), a w konsekwencji na zwolnienie, a następnie ponowne użycie tego samego wpisu pamięci.
- CVE-2026-98121Nieznane
W sterowniku watchdoga msc313e w jądrze Linux funkcja msc313e_wdt_probe() nie ustawia danych sterownika dla urządzenia platformowego, przez co dev_get_drvdata() w msc313e_wdt_suspend() i msc313e_wdt_resume() zwraca NULL i następuje dereferencja wskaźnika NULL. Poprawka ustawia dane sterownika w msc313e_wdt_probe().
- CVE-2026-98120Nieznane
W podsystemie netfs jądra Linux występuje wyciek referencji podżądania (subrequest) w funkcji netfs_unbuffered_write(), gdy subreq->io_iter ma zerową długość podczas przygotowania. Poprawka naprawia ten wyciek referencji.
- CVE-2026-98119Nieznane
W podsystemie netfs jądra Linux, gdy netfs_alloc_subrequest() zwróci błąd, subreq ma wartość NULL, a następnie netfs_prepare_write() próbuje zainicjalizować jego pola, co prowadzi do dereferencji wskaźnika NULL. Poprawka prawidłowo obsługuje błąd netfs_prepare_write().
- CVE-2026-98118Nieznane
W jądrze Linux wykryto podatność w podsystemie netfs związaną z synchronizacją odczytu z wyprzedzeniem (readahead). Problem wynika z dodawania stron (folio) do bufora przez wątek aplikacji w trakcie, gdy wątek zbierający je przetwarza, co może prowadzić do błędów w określaniu kolejności stron. Poprawka polega na wczytywaniu wszystkich stron wybranych przez VM do bufora z góry, a następnie zwalnianiu referencji po rozpoczęciu operacji I/O.
- CVE-2026-98117Nieznane
W podsystemie cachefiles jądra Linux funkcja trace_cachefiles_coherency() otrzymuje wskaźnik do __be64 nakładany na dane koherencji o zmiennej długości (mogącej wynosić nawet 0 bajtów), co może prowadzić do UAF lub ostrzeżenia KASAN. Poprawka zapewnia co najmniej 8 bajtów miejsca w buforze, wstępnie je zeruje i pobiera dane jako cztery 2-bajtowe słowa.
- CVE-2026-98115Wysokie
W jądrze Linux w ksmbd podczas wylogowania sesji SMB3 multichannel nie czekano na wszystkie kanały przed zwolnieniem współdzielonych obiektów sesji. Dodano bezpieczne opróżnianie, które budzi zablokowane blokady zakresu bajtów, wywołuje callbacki anulowania dla żądań CANCEL i serializuje zamykanie sesji z rejestracją kanałów.
- CVE-2026-98114Nieznane
W jądrze Linux funkcja parse_dacl() w ksmbd akceptowała błędnie obcięte ACE i błędy alokacji, co pozwalało na kontynuowanie z niekompletną konwersją ACL. Poprawka propaguje błędy parsowania i alokacji do parse_sec_desc(), aby odrzucać nieprawidłowe deskryptory bezpieczeństwa przed aktualizacją atrybutów inode lub xattr ACL.
- CVE-2026-98113Nieznane
W jądrze Linux w ksmbd klient może wysłać wiele strukturalnie poprawnych, ale nieodwzorowanych SID w DACL, co powoduje zalewanie logu jądra setkami komunikatów o błędach. Poprawka ogranicza częstotliwość logowania tych błędów.
- CVE-2026-98112Wysokie
W jądrze Linux w ksmbd wątek nasłuchujący kończy działanie, gdy gniazdo nasłuchujące jest zamykane. Notyfikator netdevice zamyka gniazdo przed wywołaniem kthread_stop(), co może prowadzić do zwolnienia task_struct przed uzyskaniem referencji. Poprawka tworzy wątek w stanie zatrzymanym i utrzymuje dodatkową referencję do czasu zakończenia kthread_stop_put().
- CVE-2026-98111Nieznane
W jądrze Linux w sterowniku Bluetooth btintel funkcja btintel_parse_version_tlv() nie sprawdza, czy wartość TLV jest wystarczająco długa dla danego typu, co może prowadzić do odczytu poza zakresem przez get_unaligned_le16(), get_unaligned_le32() lub memcpy(). Poprawka odrzuca wartości krótsze niż minimalne wymagane dla każdego znanego typu TLV oraz odpowiedzi bez pola Command Complete Status.
- CVE-2026-98110Nieznane
W jądrze Linux w sterowniku Bluetooth btintel identyfikator firmware traktowany jest jako string zakończony NUL, mimo że jedyną granicą jest długość TLV. Jeśli wartość nie zawiera terminatora NUL, snprintf() może czytać poza odebraną odpowiedzią. Poprawka ogranicza konwersję do zadeklarowanej długości wartości TLV.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

