Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-89835Niskie ryzyko· EPSS 11%
W jądrze Linux w f2fs checkpoint_merge może być włączony nawet gdy wątek scalania checkpointów nie działa, np. przy montowaniu tylko do odczytu. Ścieżka zapisu ckpt_thread_ioprio przez sysfs wywołuje set_task_ioprio() dla wątku checkpointu, co przy NULL cprc->f2fs_issue_ckpt powoduje dereferencję NULL.
- CVE-2026-89834Niskie ryzyko· EPSS 11%
W jądrze Linux w f2fs pętla ewakuacji curseg w free_segment_range() iteruje tylko do NR_CURSEG_PERSIST_TYPE (0..5), pomijając niepersystentne typy curseg w pamięci, takie jak CURSEG_COLD_DATA_PINNED i CURSEG_ALL_DATA_ATGC. Aktywny curseg w pamięci w obrębie przycinanego zakresu segmentów nie zostanie zmigrowany.
- CVE-2026-89833Niskie ryzyko· EPSS 11%
W jądrze Linux w f2fs występuje potencjalna pętla nieskończona w warunkach wyścigu między f2fs_fsync_node_pages() a f2fs_setattr(). Wątek A pobiera folio przez folio_get(), podczas gdy wątek B unieważnia mapowanie folio, powodując że is_node_folio zawsze zwraca false i pętla retry nigdy się nie kończy.
- CVE-2026-89832Wysokie
W jądrze Linux w f2fs gdy blok węzła jest uszkodzony z powodu niezgodności sumy kontrolnej lub niespójnych informacji stopki, należy wyczyścić flagę dirty folio węzła, aby utrwalić niespójne dane węzła w pamięci masowej. Brak tej operacji w ścieżce błędu.
- CVE-2026-89831Niskie ryzyko· EPSS 9%
W jądrze Linux w f2fs ścieżka zapisu sysfs dla critical_task_priority aktualizuje stan szeregowania wątków checkpointu lub GC, ale nie jest chroniona przez s_umount, w przeciwieństwie do innych wpisów kontrolnych. Może to powodować wyścig z operacjami remount lub teardown zatrzymującymi te wątki.
- CVE-2026-89820Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie DRM/AMD Display wykryto wyciek blokady dc_lock podczas ścieżek błędów resetu GPU. Funkcja dm_suspend() przejmuje blokadę, ale jeśli operacje pomocnicze zawiodą, zwraca bez jej zwolnienia, co prowadzi do zakleszczenia przy kolejnych próbach jej przejęcia.
- CVE-2026-89819Wysokie
W jądrze Linux w podsystemie DRM/AMD Display brakuje walidacji rozmiaru tablicy LUT dla per-plane degamma, co może prowadzić do dzielenia przez zero lub odczytu poza zakresem pamięci. Problem dotyczy właściwości AMD_PLANE_DEGAMMA_LUT, dostępnej tylko przy kompilacji z AMD_PRIVATE_COLOR.
- CVE-2026-89818Wysokie
W jądrze Linux w podsystemie DRM/AMDGPU VCN wykryto przepełnienie liczby całkowitej podczas sprawdzania liczby buforów w komunikacie dec_msg. Specjalnie spreparowana wartość może ominąć kontrolę granic i spowodować odczyt poza przydzielonym obszarem pamięci.
- CVE-2026-89817Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie DRM/GUD brakuje gwarancji zakończenia znakiem NUL nazw trybów TV odczytywanych z urządzenia USB. Funkcja strlen() może czytać poza przydzielony bufor, co prowadzi do odczytu poza zakresem.
- CVE-2026-89816Niskie ryzyko· EPSS 11%
W jądrze Linux w podsystemie DRM wykryto wyciek pamięci obiektu drm_crtc_commit, gdy używany jest znacznik PAGE_FLIP_EVENT. Problem występuje, gdy zdarzenie jest alokowane w prepare_signaling() i zerowane w complete_signaling(), co uniemożliwia zwolnienie obiektu.
- CVE-2026-89815Wysokie
W jądrze Linux występuje błąd w module drm/ttm, gdzie po pomyślnym zakończeniu procesu przywracania (restore) w funkcji ttm_pool_restore_and_alloc() nie zwalniany jest wskaźnik tt->restore. Prowadzi to do tego, że kolejne operacje backup/restore widzą stan, jakby przywracanie już się zakończyło, podczas gdy uchwyty shmem pozostają zainstalowane w tt->pages, co powoduje ślad stosu i potencjalne uszkodzenie pamięci.
- CVE-2026-89814Wysokie
W jądrze Linux w podsystemie DRM/AMDGPU wykryto odczyt poza zakresem tablicy adev->isolation[] dla pierścieni nieprzypisanych do partycji. Indeks AMDGPU_XCP_NO_PARTITION (wartość ~0) powoduje dostęp poza tablicę, co wyzwala ostrzeżenia UBSAN.
- CVE-2026-89813Niskie ryzyko· EPSS 11%
W jądrze Linux w podsystemie DRM/AMDGPU brakuje wymuszenia zakończenia fence'ów pierścienia KIQ podczas resetu. Po resecie MODE1 pierwsze zgłoszenie KIQ może czekać w nieskończoność na wartość, która nie zostanie zapisana, co prowadzi do zawieszenia.
- CVE-2026-89812Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie DRM/AMDGPU brakuje wymuszenia zakończenia fence'ów pierścienia MES podczas resetu. Po resecie pierwsze zgłoszenie MES może czekać w nieskończoność, co prowadzi do niepowodzenia wznowienia i zawieszenia systemu.
- CVE-2026-89811Wysokie
W jądrze Linux w podsystemie DRM/AMDKFD brakuje flush TLB po ewakuacji/zawieszeniu kolejek MES, co może prowadzić do wyścigu i błędów stron podczas migracji pamięci SVM.
- CVE-2026-89809Niskie ryzyko· EPSS 9%
W jądrze Linux występuje podatność typu NULL pointer dereference w funkcji pqm_debugfs_mqds sterownika drm/amdkfd. Odczyt pliku /sys/kernel/debug/kfd/mqds, gdy proces posiada aktywną kolejkę KFD, powoduje dereferencję niezainicjalizowanego wskaźnika mqd_mgr, ponieważ pętla wywołująca mqd_mgr->debugfs_show_mqd() znajduje się poza blokiem if (pqn->q). Prowadzi to do awarii jądra (oops) i odmowy usługi.
- CVE-2026-89805Wysokie
W jądrze Linux naprawiono błąd w module drm/pagemap dotyczący funkcji drm_pagemap_migrate_populate_ram_pfn(). Podczas alokacji folio wyższego rzędu brakowało flagi __GFP_NOWARN i ścieżki awaryjnej, a w ścieżce błędu free_pages kolejność folio była obliczana po zwolnieniu referencji (put_page), co prowadziło do use-after-free. Dodatkowo poprawiono budowanie tablicy stron źródłowych, aby zapewnić pełne kopiowanie danych po degradacji do folio rzędu 0.
- CVE-2026-89800Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku drm/nouveau/uvmm nieczyszczony jest znacznik dirty przy wycofywaniu operacji OP_UNMAP_SPARSE. Gdy późniejsza operacja w zadaniu zawiedzie, region pozostaje w drzewie ze znacznikiem dirty, a jego zakończenie nigdy nie jest sygnalizowane. Kolejne przypisania w tym zakresie trwale zawodzą przez błędy -ENOENT, -EINVAL lub nieprzerywalne oczekiwanie w bind_validate_region().
- CVE-2026-89799Wysokie
W jądrze Linux w funkcji bpf_get_stackid wywołanie get_perf_callchain wymaga wyłączonego wywłaszczania, podobnie jak dostęp do zwróconego bufora wpisów śledzenia. Funkcja bpf_get_stackid_pe jest już wykonywana z wyłączonym wywłaszczaniem. Brak wyłączenia wywłaszczania w bpf_get_stackid może prowadzić do problemów ze spójnością danych.
- CVE-2026-89798Niskie ryzyko· EPSS 9%
W jądrze Linux w rpcrdma_rn_register() obiekt @rn jest wstawiany do rd_xa przez xa_alloc() przed zapisaniem wskaźnika rn_done. Usunięcie urządzenia wyścigujące się z rejestracją może odczytać @rn z rn_done równym NULL i wywołać wskaźnik funkcji NULL. Poprawka zapisuje rn->rn_done przed xa_alloc() i czyści go przy niepowodzeniu alokacji.
- CVE-2026-89797Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku ab8500_fg funkcja ab8500_fg_remove() niszczy kolejkę roboczą, podczas gdy wątkowane procedury obsługi przerwań są wciąż uzbrojone. Procedura obsługi, która uruchomi się w tym oknie, kolejkuje pracę na zwolnionej kolejce, powodując use-after-free. Poprawka niszczy kolejkę przez devm, rejestrując jej czyszczenie po zasilaczu i przed żądaniami przerwań.
- CVE-2026-89796Niskie ryzyko· EPSS 12%
W jądrze Linuxa wykryto podatność w module DAMON, która może prowadzić do nieskończonej pętli w funkcji kdamond_merge_regions(). Problem wynika z przepełnienia liczby całkowitej przy podwajaniu progu scalania regionów, gdy maksymalny próg przekracza UINT_MAX/2. Warunek zakończenia pętli jest sprawdzany po podwojeniu, co w określonych warunkach może ominąć zabezpieczenie i spowodować zawieszenie systemu.
- CVE-2026-89795Wysokie
W jądrze Linux rozwiązano podatność w podsystemie PCI dotyczącą systemów s390 korzystających z hipervisora na poziomie maszyny. Współdzielone przypisanie obiektu pci_slot do urządzeń wielofunkcyjnych powodowało, że reset funkcji przez sterownik hotplug resetował niewłaściwą funkcję oraz prowadził do wycieku pamięci. Dodano flagę umożliwiającą tworzenie slotów PCI dla poszczególnych funkcji zarządzanych przez hipervisor.
- CVE-2026-89794Niskie ryzyko· EPSS 11%
W jądrze Linux w ksmbd obsługa odpowiedzi złożonych rozszerza ostatni iov odpowiedzi do granicy ośmiu bajtów. Funkcja smb2_read_pipe() alokuje tylko rozmiar ładunku, więc wyrównanie może ujawnić do siedmiu bajtów niezainicjowanej pamięci sterty jądra. Poprawka alokuje wyrównany rozmiar i czyści nieużywany ogon przed przypięciem bufora odpowiedzi.
- CVE-2026-89793Wysokie
W jądrze Linux funkcja ublk_ch_mmap() odrzuca żądania mmap z ustawionym VM_WRITE, ale nigdy nie czyści VM_MAYWRITE na wynikowym mapowaniu tylko do odczytu. Umożliwia to demonowi w przestrzeni użytkownika mmap bufora poleceń z PROT_READ, a następnie podniesienie go do PROT_WRITE przez mprotect(). Bufor poleceń zawiera wpisy struct ublksrv_io_desc zapisywane przez jądro, więc zapisywalne mapowanie pozwala procesowi bez uprawnień uszkodzić pola takie jak addr, op_flags, nr_sectors i start_sector.
- CVE-2026-89792Wysokie
W jądrze Linuxa, w module ksmbd, występuje podatność na odczyty poza zakresem w odpowiedziach konfiguracji udziału. Brak walidacji rozmiaru danych IPC przed przetworzeniem pól o zmiennej długości może prowadzić do odczytu poza dozwolonym obszarem pamięci.
- CVE-2026-89791Wysokie
W jądrze Linux występuje podatność use-after-free w mechanizmie perf, gdy wywołanie perf mmap() (tzw. revival) ściga się z ostatnim munmap(). Funkcja perf_mmap_close() zmniejsza licznik rb->mmap_count bez trzymania event->mmap_mutex, co pozwala równoległemu perf_mmap_rb() na ponowne podpięcie bufora, który następnie zostaje zwolniony mimo że inny proces wciąż ma go zmapowanego.
- CVE-2026-89790Niskie ryzyko· EPSS 10%
W jądrze Linux w funkcji rt6_multipath_rebalance() występuje podatność na dzielenie przez zero. Konkurencyjna aktualizacja parametru ignore_routes_with_linkdown może spowodować, że pierwszy przebieg obliczania wag zwróci zero, podczas gdy drugi przebieg zobaczy dostępny nexthop, co prowadzi do dzielenia przez zero w rt6_upper_bound_set().
- CVE-2026-89789Wysokie
W jądrze Linux w funkcji gtp_newlink() w ścieżce błędu brakuje synchronize_net(), co prowadzi do użycia po zwolnieniu (use-after-free). Po wyczyszczeniu sk_user_data bez oczekiwania na okres RCU, współbieżny odbiór pakietów w gtp_encap_recv() może nadal używać wskaźnika do zwolnionej pamięci.
- CVE-2026-89787Niskie ryzyko· EPSS 10%
W jądrze Linux w funkcji ext4_search_dir() wykryto błąd polegający na tym, że sprawdzenie granic wpisu katalogu nie uwzględnia 8-bajtowego znacznika hasha (EXT4_DIRENT_HASHES) używanego w katalogach szyfrowanych z obsługą casefold. Złośliwie spreparowany wpis katalogu, którego nazwa kończy się dokładnie na granicy bloku, przechodzi weryfikację, a następnie ext4_match() odczytuje dane poza blokiem, co prowadzi do błędu use-after-free.
- CVE-2026-89785Niskie ryzyko· EPSS 10%
W jądrze Linux w systemie plików NTFS3 funkcje ntfs_reparse_init() i ntfs_objid_init() odczytują pola typu i reguły z atrybutu INDEX_ROOT bez sprawdzenia, czy atrybut rezydentny jest wystarczająco duży. Może to prowadzić do odczytu poza zakresem podczas montowania spreparowanego obrazu.
- CVE-2026-89784Niskie ryzyko· EPSS 11%
W jądrze Linux funkcje rpcb_register_inet4() i rpcb_register_inet6() w module SUNRPC zapisują wynik rpc_sockaddr2uaddr() do map->r_addr bez sprawdzenia, czy nie jest NULL. Gdy alokacja pamięci (kstrdup) zawiedzie, niezaznaczony NULL trafia do ścieżki kodowania RPCBPROC_SET, gdzie funkcja strlen() dereferencjonuje NULL, powodując awarię jądra (oops).
- CVE-2026-89781Wysokie
W jądrze Linux w systemie plików NTFS3 funkcja read_log_rec_buf() odczytuje poza zakresem z powodu nieprawidłowej wartości log->record_header_len pochodzącej z dysku. Może to prowadzić do odczytu pamięci poza buforem podczas montowania spreparowanego obrazu NTFS.
- CVE-2026-89780Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku Qualcomm RMNet wykryto podatność polegającą na braku przypisania skb->dev do ramek po deagregacji. Prowadzi to do wywołania netif_tx_lock() na wskaźniku NULL, co powoduje awarię jądra (kernel panic) i może być wykorzystane przez nieuprzywilejowanego użytkownika.
- CVE-2026-89777Wysokie
W jądrze Linux w podsystemie vfio/pci funkcja vfio_msi_cap_len() przy błędzie inicjalizacji zwalniała pamięć vdev->msi_perm, ale nie zerowała wskaźnika. Prowadziło to do użycia zwolnionej pamięci (use-after-free) przy kolejnym otwarciu urządzenia oraz do podwójnego zwolnienia (double free) przy jego zamykaniu, co może skutkować paniką jądra.
- CVE-2026-89773Niskie ryzyko· EPSS 9%
W jądrze Linux rozwiązano podatność w module drm/amd/display polegającą na pominięciu konfiguracji HDCP w stanie przejściowym. Stan przejściowy nie posiada prawidłowego dm_stream_ctx, więc konfiguracja HDCP powinna być pominięta — procedura jest prawidłowa tylko wtedy, gdy utworzono prawidłowy strumień.
- CVE-2026-89771Wysokie
W jądrze Linux rozwiązano wyścig w ring-buffer podczas zmiany rozmiaru subbufora przez czytelników. trace_buffer subbuf_size jest odczytywany bez blokady w ring_buffer_read_page() i ring_buffer_read_start(), podczas gdy może być jednocześnie zmieniany przez ring_buffer_subbuf_order_set(). Poprawka używa bpage::order zamiast trace_buffer::subbuf_size oraz dodaje blokadę mutex w ring_buffer_read_start().
- CVE-2026-89770Niskie ryzyko· EPSS 9%
W jądrze Linux rozwiązano problem w iomap polegający na zwalnianiu nieistniejącego ładunku integralności. fs_bio_integrity_alloc może nie przydzielić ładunku integralności bio, jeśli weryfikacja PI jest wyłączona na urządzeniu blokowym — poprawka sprawdza ten przypadek przed wywołaniem fs_bio_integrity_free w iomap_bio_read_folio_range_sync, aby uniknąć dereferencji wskaźnika NULL.
- CVE-2026-89769Wysokie
W jądrze Linux rozwiązano wyciek IRQ na ścieżce błędu cpuhp_setup_state w sterowniku clocksource nxp-pit. Gdy cpuhp_setup_state zawiedzie po pomyślnym wywołaniu request_irq przez pit_clockevent_per_cpu_init, obsługa błędu pomija zwolnienie zarejestrowanego IRQ, co prowadzi do wycieku linii przerwania i pozostawienia wiszącego wskaźnika jako dev_id, potencjalnie powodując use-after-free.
- CVE-2026-89768Niskie ryzyko· EPSS 8%
W jądrze Linux naprawiono błąd w funkcji backing_file_open(), która wyznaczała ścieżkę zapisywaną w nowym pliku backingowym na podstawie user_file->f_path. Przy zagnieżdżonych systemach plików (np. overlayfs na overlayfs) prowadziło to do zapisania nieprawidłowej, wewnętrznej ścieżki warstwy pośredniej zamiast ścieżki widocznej dla użytkownika. W efekcie pliki mapowane przez zagnieżdżony overlayfs pokazywały błędną ścieżkę w /proc/<pid>/maps oraz w rekordach mmap perf/ftrace.
- CVE-2026-89766Niskie ryzyko· EPSS 10%
W jądrze Linux ioctl PIDFD_GET_*_NAMESPACE w pidfd_ioctl() wykonuje sprawdzenie dostępu ptrace na podstawie poświadczeń, ale w przeciwieństwie do ścieżek procfs nie utrzymuje blokady exec_update_lock docelowego zadania. Pozwala to wywołującemu przejść sprawdzenie na starych poświadczeniach, a następnie odczytać przestrzeń nazw po tym, jak cel wykona execve() na binarce setuid i ustanowi nowe poświadczenia. Poprawka polega na trzymaniu exec_update_lock dla odczytu wokół sprawdzenia ptrace i wyszukania przestrzeni nazw.
- CVE-2026-89765Niskie ryzyko· EPSS 9%
W jądrze Linux na natywnej architekturze sparc64 struktura __kernel_old_timeval zawiera czterobajtową lukę po tv_usec, ponieważ tv_sec jest 64-bitowe, a __kernel_suseconds_t 32-bitowe. Funkcja put_itimerval() wypełnia tylko nazwane pola i kopiuje cały obiekt do przestrzeni użytkownika, przez co getitimer() może ujawnić dwa bajty wypełnienia ze stosu jądra. Poprawka zeruje całą strukturę przed przypisaniem pól.
- CVE-2026-89764Wysokie
W jądrze Linux w warstwie Rust devres występuje wyścig, gdy dwie ścieżki jednocześnie unieważniają Devres. devres_release_all() wywołuje Revocable::revoke() przez callback zwalniający, a Devres::drop() wywołuje revoke_nosync() na innym CPU. Unieważniający, który nie zdobędzie zamiany is_available, wraca natychmiast, ale drugi może wciąż wykonywać drop_in_place() na danych wewnętrznych, co prowadzi do use-after-free. Poprawka dodaje Completion, na które Devres::drop() czeka, gdy przegra zamianę is_available.
- CVE-2026-89763Wysokie
W jądrze Linux występuje błąd use-after-free w module trusted keys (KEYS: trusted) związany z kolejnością zwalniania zasobów TPM. Funkcja trusted_tpm_exit() zwalnia referencję do układu TPM oraz tablicę digestów przed wyrejestrowaniem typu klucza, co pozwala równoległej operacji na kluczu odwołać się do już zwolnionej pamięci.
- CVE-2026-89760Wysokie
W jądrze Linux występuje błąd w zarządzaniu pamięcią wymiany (swap), dotyczący zwalniania slotów hibernacji. Funkcja swap_free_hibernation_slot() zwalnia slot nawet gdy znajduje się w nim folio w swap cache, co prowadzi do usunięcia wpisu spod tego folio i późniejszego nadpisania wpisu w tablicy swap należącego do innego procesu. Błąd może powodować cichą korupcję pamięci, awarie procesów lub niestabilność danych w niepowiązanych aplikacjach, szczególnie podczas przygotowywania obrazu hibernacji przez uswsusp.
- CVE-2026-89759Niskie ryzyko· EPSS 9%
W jądrze Linux naprawiono podatność w module kmemleak, gdzie funkcja kmemleak_scan() skanowała stosy wszystkich wątków w jednej sekcji krytycznej RCU bez punktu przeplanowania. Na hostach z bardzo dużą liczbą wątków mogło to doprowadzić do zablokowania CPU i wyzwolenia watchdoga soft lockup. Poprawka polega na iterowaniu po zadaniach za pomocą find_ge_pid() i zwalnianiu blokady RCU między zadaniami.
- CVE-2026-89758Wysokie
W jądrze Linux występuje luka w funkcji queue_folios_pmd() w mm/mempolicy, która nie pomija nieobecnych wpisów PMD (np. device-private) przed wywołaniem pmd_folio(). Może to prowadzić do VM_BUG_ON() na jądrach debugowych, oopsa na błędnym wskaźniku vmemmap lub cichego odizolowania niepowiązanego folio z LRU. Problem występuje, gdy sterownik GPU oparty na HMM migruje anonimowe folio THP do pamięci urządzenia, a następnie użytkownik wywołuje mbind(), migrate_pages() lub set_mempolicy_home_node().
- CVE-2026-89757Niskie ryzyko· EPSS 11%
W jądrze Linux w mechanizmie mglru funkcja sort_folio() zawierała błędną optymalizację dla stron (folios), które przestały być usuwalne z pamięci (unevictable). Błąd powodował, że pole mlock_count mogło przyjąć wartość 0x122 (290) z powodu nadpisania przez LIST_POISON2, co prowadziło do nieprawidłowego liczenia stron zablokowanych w pamięci (Mlocked) i pozostawania ich jako unevictable aż do zwolnienia. Dodatkowo skrót operował flagami LRU w niewłaściwej kolejności, co mogło powodować nieoczekiwane zachowanie przy równoczesnej izolacji stron.
- CVE-2026-89756Niskie ryzyko· EPSS 8%
W jądrze Linux funkcja migrate_pages_batch() odmapowuje kolejne folio, co na hostach KVM wywołuje kosztowne operacje MMU notifier, długo zajmując CPU. Pętla wywołuje tylko cond_resched(), które na jądrach z PREEMPTION nic nie robi, więc zadanie migrujące (np. kcompactd) nigdy nie zgłasza stanu quiescent dla Tasks-RCU i blokuje grace period RCU na wiele minut.
- CVE-2026-89755Wysokie
W jądrze Linux funkcja __migrate_device_pages() odczytuje mapowanie folio przed wywołaniem folio_free_swap(). Po udanym usunięciu z swapcache zapisane mapowanie nadal wskazuje na swap_space, co prowadzi do użycia nieaktualnego mapowania i błędnego rozliczania referencji, a w konsekwencji do BUG związanego z licznikiem referencji folio.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

