Podatności Linux kernel
7564 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90199Wysokie
Podatność w sterowniku systemu plików ntfs3 w jądrze Linuxa. W funkcji mi_enum_attr() niewystarczająca walidacja końcowego numeru klastra wirtualnego (evcn) może prowadzić do przepływu liczb (integer overflow), co umożliwia akceptację nieprawidłowych atrybutów. Naprawa dodaje sprawdzenie zakresu evcn, odrzucając wartości spoza zakresu, z wyjątkiem wartości U64_MAX używanej jako znacznik pustego atrybutu.
- CVE-2026-90191Wysokie
W jądrze Linux sterownik riscv-sbi-mpxy nie walidował długości powiadomień RPMI zwracanej przez SBI przed skopiowaniem danych z pamięci współdzielonej do bufora powiadomień. Dodatkowo pętla przetwarzania zdarzeń miała odwrócony warunek i mogła odczytać niepełny rekord zdarzenia.
- CVE-2026-90177Wysokie
W jądrze Linux w weryfikatorze BPF typ wskaźnika dla atomowych operacji RMW jest zapisywany tylko wtedy, gdy bieżącym celem jest PTR_TO_ARENA. Druga ścieżka może osiągnąć tę samą instrukcję ze zwykłym wskaźnikiem bez porównania z zapisanym typem arena, co prowadzi do niezgodnego użycia instrukcji.
- CVE-2026-90172Wysokie
W jądrze Linux w funkcji smbdirect_accept_connect_request() ścieżka błędu rdma_accept_failed niszczyła pule pamięci (mem pools) przed zniszczeniem kolejki QP. Powodowało to, że obiekt recv_io pozostawał aktywny w momencie niszczenia pamięci podręcznej slab, co prowadziło do ostrzeżenia "Slab cache still has objects", a następnie do dereferencji NULL w mempool_free_bulk.
- CVE-2026-90162Wysokie
W jądrze Linux w serwerze SMB (ksmbd) występuje podatność Use-After-Free i podwójnego zwolnienia (double-free) w funkcji smb2_lock(). Przyznane zamki są publikowane na listach conn->lock_list i fp->lock_list natychmiast po sukcesie vfs_lock_file(), ale pozostają również na liście rollback_list. Jeśli późniejszy element w tablicy żądań zawiedzie, pętla rollback może zwolnić już zwolniony obiekt, gdyż równoczesne żądanie UNLOCK może go usunąć.
- CVE-2026-90161Wysokie
W jądrze Linux w systemie plików EROFS występuje podatność na odczyt poza zakresem (out-of-bounds read) w przypadku nieprawidłowych przeplatanych klastrów ztailpacking. Obrazy systemu plików mogą zawierać nieprawidłowe klastry, co prowadzi do odczytu z zmapowanej strony i kopiowania nieistotnej pamięci jądra do widocznej dla użytkownika pamięci podręcznej stron.
- CVE-2026-90146Wysokie
W jądrze Linux w podsystemach BPF i XDP przeniesiono sprawdzanie programów do funkcji dev_xdp_install(), aby uniemożliwić podmianę zwykłego programu XDP na program offloaded/device-bound przy użyciu BPF_LINK_UPDATE, który wcześniej omijał weryfikację i umożliwiał wykonanie takiego programu na ścieżce programowej.
- CVE-2026-90145Wysokie
W sterowniku sieciowym hinic3 w jądrze Linux naprawiono problem związany z linearyzacją skb i brakiem sprawdzania błędów w funkcji skb_checksum_help(). Błąd mógł prowadzić do odczytu poza obszar pamięci podczas operacji DMA lub błędów IOMMU, a także do wysyłania uszkodzonych pakietów z niekompletnymi sumami kontrolnymi.
- CVE-2026-90143Wysokie
W jądrze Linux w module KCM (Kernel Connection Multiplexer) brakowało ochrony RCU podczas uruchamiania programu BPF w parserze strparser, co mogło powodować ostrzeżenia jądra przy operacjach na mapach BPF. Poprawka polega na trzymaniu blokady RCU podczas wykonania programu.
- CVE-2026-90142Wysokie
W sterowniku virtio_net jądra Linux naprawiono błąd zmiany rozmiaru pierścienia RX w obecności gniazda AF_XDP, który powodował zapis poza koniec tablicy xsk_buffs, gdy rozmiar się zwiększał. Poprawka zapewnia odpowiednie przeskalowanie tablicy.
- CVE-2026-90141Wysokie
W jądrze Linux w module IPVS (IP Virtual Server) naprawiono przepełnienie liczby całkowitej w funkcji parsującej odpowiedzi FTP PASV/EPSV, które mogło prowadzić do zawinięcia wartości i użycia błędnego portu/adresu w połączeniu danych. Poprawka poszerza typ zmiennej na u32 i odrzuca wartości powyżej dozwolonych limitów.
- CVE-2026-90137Wysokie
W jądrze Linux w module hp-bioscfg (platform/x86) naprawiono brak sprawdzania granic przy parsowaniu kodowań haseł z pakietów ACPI, co mogło prowadzić do odczytu poza tablicą i przekazania nieprawidłowego wskaźnika do funkcji hp_convert_hexstr_to_str().
- CVE-2026-90133Wysokie
W jądrze Linux w funkcji ntfs_ir_to_ib() występuje błąd zapisu poza granicami bufora sterty (heap OOB write). Funkcja kopiuje wpisy z index_root do nowo przydzielonego bufora o rozmiarze index_block_size bez sprawdzenia, czy wpisy mieszczą się w dostępnej przestrzeni. Brak kontroli granic przed memcpy pozwala na zapis poza zaalokowanym obszarem.
- CVE-2026-90132Wysokie
W jądrze Linux w systemie plików NTFS nie odrzucano zapisu setxattr do zarezerwowanych atrybutów rozszerzonych $LXUID, $LXGID, $LXMOD i $LXDEV z przestrzeni użytkownika. Poprawka wymaga uprawnienia CAP_SYS_ADMIN do modyfikacji tych atrybutów.
- CVE-2026-90120Wysokie
W jądrze Linux funkcja gic_acpi_parse_iaffid() nie sprawdza wartości zwracanej przez get_logical_index(), która może wskazywać błąd, gdy wpis MADT GICC nie odpowiada rozpoznanemu procesorowi logicznemu. Może to prowadzić do indeksowania tablicy per_cpu poza zakresem i uszkodzenia pamięci.
- CVE-2026-90118Wysokie
W jądrze Linux funkcja ntfs_decompress() zawiera błąd o jeden w sprawdzaniu zakresu, gdzie dp_addr == dp_sb_end przechodzi do kopiowania symbolu i zapisuje jeden bajt poza stroną docelową. Uszkodzony atrybut $DATA może wywołać serię zapisów poza zakresem podczas odczytu pliku.
- CVE-2026-90103Wysokie
W jądrze Linux w implementacji NFSv4.2 występuje błąd wyczerpania bufora wysyłania LAYOUTSTATS. Makro encode_layoutstats_maxsz rezerwuje 256 bajtów, ale rekord flexfiles może tę wartość przekroczyć, ponieważ serwer kontroluje długość uchwytu pliku i adresu. Może to doprowadzić do przekroczenia bufora i trwałego zablokowania mutexa, gdy xdr_reserve_space() zwróci NULL.
- CVE-2026-90102Wysokie
W jądrze Linux w implementacji NFSv4/pnfs występuje błąd polegający na kluczowaniu pamięci podręcznej serwera danych wyłącznie na podstawie zestawu adresów multipath, bez uwzględnienia wersji NFS. Gdy dwa deviceidy na tym samym adresie mają różne wersje, współdzielą jeden nfs4_pnfs_ds, a pierwszy łączący się mirror przypisuje ds_clp do swojej wersji. Drugi mirror otrzymuje ten klient i wybiera rpc_call_ops dla nieobsługiwanej wersji, co prowadzi do dereferencji NULL.
- CVE-2026-90093Wysokie
W jądrze Linuxa naprawiono problem z bezpiecznym dostępem do pola chan->conn w funkcjach getsockopt/setsockopt dla Bluetooth L2CAP. Po zmianie wcześniejszej, chan->conn zachowuje referencję i pozostaje nie-NULL nawet po usunięciu skojarzonego hci_conn, ale dostęp do jego pól (np. hdev) jest nieprawidłowy i prowadzi do błędu zgłaszanego przez KASAN. Poprawka dodaje sprawdzenie, czy hci_conn jest nadal aktywny, oraz blokadę l2cap_chan_lock() w celu uniknięcia wyścigów.
- CVE-2026-90092Wysokie
W jądrze Linuxa naprawiono problem w Bluetooth L2CAP polegający na możliwości dodania nowego gniazda do kolejki akceptacji rodzica po zakończeniu działania l2cap_sock_cleanup_listen() i ustawieniu stanu BT_CLOSED, co mogło prowadzić do użycia po zwolnieniu (UAF). Poprawka polega na dodaniu sprawdzenia stanu sk_state == BT_LISTEN po uzyskaniu blokady sk w funkcji l2cap_sock_new_connection_cb() oraz dalszym zabezpieczeniu przed wyścigami.
- CVE-2026-90091Wysokie
W jądrze Linux występuje wyścig (race condition) w podsystemie Bluetooth L2CAP pomiędzy funkcjami l2cap_sock_cleanup_listen() a l2cap_sock_put_chan(). Niezsynchronizowany odczyt wskaźnika l2cap_pi(sk)->chan może zwrócić wartość NULL, co prowadzi do dereferencji wskaźnika NULL (null-ptr-deref) i awarii jądra. Problem został rozwiązany poprzez zastosowanie blokady lock_sock() w l2cap_sock_kill().
- CVE-2026-90089Wysokie
W jądrze Linux sterownik Bluetooth btnxpuart w funkcji nxp_process_fw_dump() odczytuje pola seq_num i buf_len ze struktury nagłówka zrzutu firmware umieszczonej pod skb->data, nie sprawdzając, czy ładunek ACL jest wystarczająco długi. Krótka ramka z uchwytem połączenia 0xfff powoduje odczyt poza odebranymi danymi, a wartość buf_len równa zero może przedwcześnie zakończyć zrzut i zresetować kontroler.
- CVE-2026-90071Wysokie
W jądrze Linux w module net/sched: sch_teql występuje podatność polegająca na tym, że funkcja teql_master_xmit() ustawia skb->dev na urządzenie podrzędne (slave) przed wywołaniem ndo_start_xmit(), ale nie przywraca go po nieudanej transmisji. To powoduje, że pakiet z nieaktualnym wskaźnikiem skb->dev trafia do kolejki ARP, a po usunięciu urządzenia podrzędnego dochodzi do użycia po zwolnieniu (UAF).
- CVE-2026-90069Wysokie
W jądrze Linux makro ACOMP_REQUEST_ON_STACK() rezerwuje miejsce tylko na synchroniczny fallback. Gdy wybrana jest implementacja asynchroniczna, acomp_request_clone() kopiuje jedynie obiekt rozmiaru stosu, przez co klon nie ma miejsca na kontekst żądania dostawcy asynchronicznego. Dostawcy tacy jak QAT zapisują poza alokację przez acomp_request_ctx(), co KASAN zgłasza jako zapis poza zakresem (slab OOB write).
- CVE-2026-90062Wysokie
W jądrze Linux w netfilter nf_tables krok sprzętowego offloadu jest wykonywany przed zbudowaniem bloba łańcucha. Alokacja bloba łańcucha przed offloadem rulesetu zmniejsza ryzyko wejścia w niespójny stan, w którym offloadowany ruleset w karcie sieciowej różni się od rulesetu programowego.
- CVE-2026-90057Wysokie
W jądrze Linuxa w sterowniku slip istnieje podatność use-after-free w funkcji slip_receive_buf() podczas wyścigu z zawieszeniem linii TTY. Funkcja slip_hangup() jedynie wywołuje slip_close(), co prowadzi do równoległego dostępu do zwolnionej pamięci.
- CVE-2026-90052Wysokie
W jądrze Linuxa w module dm-integrity występuje przepełnienie bufora podczas usuwania (discard) z kluczem. Gdy rozmiar znacznika jest mniejszy niż rozmiar skrótu, obliczana suma kontrolna jest zapisywana poza obszarem bufora.
- CVE-2026-90051Wysokie
W jądrze Linuxa w protokole TCP brakuje wymuszenia trybu zerokopiowego dla devmem TX. Gdy funkcja NETIF_F_SG nie jest ustawiona, możliwa jest próba kopiowania danych z nieprawidłowym iovec, co może prowadzić do błędów lub naruszenia niezmienników.
- CVE-2026-90045Wysokie
W jądrze Linux w sterowniku USB gadget ffs struktura io_data przechowuje wskaźnik do mm_struct zadania, ale nie utrzymuje referencji podczas oczekujących żądań asynchronicznych. Może to prowadzić do użycia po zwolnieniu (use-after-free), jeśli zadanie zakończy się przed obsługą ukończenia. Poprawka polega na pobraniu referencji przez mmgrab() przy kolejkowaniu i zwolnieniu przez mmdrop() przy ukończeniu.
- CVE-2026-90044Wysokie
W jądrze Linux w sterowniku USB gadget f_fs występuje use-after-free w ścieżce błędu AIO. Gdy ffs_epfile_io() zwróci błąd inny niż -EIOCBQUEUED, struktura io_data jest zwalniana, ale funkcja anulowania kiocb pozostaje uzbrojona i wskazuje na zwolniony wskaźnik. Równoległe anulowanie (np. sys_io_cancel()) może spowodować użycie po zwolnieniu. Poprawka polega na bezpiecznym rozbrojeniu anulowania przez kiocb->ki_complete() i zwróceniu -EIOCBQUEUED.
- CVE-2026-90041Wysokie
W jądrze Linux sterownik HID sony nie usuwa kontrolera z listy urządzeń, gdy rejestracja urządzenia wejściowego w HID core zakończy się niepowodzeniem. Struktura sony_sc jest zwalniana przez devres, ale jej węzeł listy pozostaje podłączony, co prowadzi do użycia zwolnionej pamięci przy obsłudze kolejnego kontrolera.
- CVE-2026-90039Niskie ryzyko· EPSS 8%
W jądrze Linux funkcje NFSD odwołujące stan administracyjny (unlock_filesystem, NFSD_CMD_UNLOCK_FILESYSTEM, NFSD_CMD_UNLOCK_EXPORT) sprawdzają tylko nn->nfsd_serv, który jest ustawiany przed alokacją tablicy nn->conf_id_hashtbl. Prowadzi to do dereferencji NULL, gdy serwer nie został jeszcze uruchomiony.
- CVE-2026-89868Niskie ryzyko· EPSS 8%
W jądrze Linux w sterowniku media chips-media wave5 funkcja stop_streaming może w niektórych przypadkach wejść w nieskończoną pętlę. Wprowadzono ograniczone odpytywanie statusu kolejki z limitem czasu VPU_DEC_STOP_TIMEOUT.
- CVE-2026-89859Niskie ryzyko· EPSS 9%
W jądrze Linux sterownik scsi qla2xxx w funkcji qla2x00_do_dport_diagnostics() alokuje bufor odpowiedzi bez zerowania i kopiuje pełny rozmiar struktury do przestrzeni użytkownika, ujawniając niezainicjalizowane pola i wyciekając zawartość sterty jądra.
- CVE-2026-89840Wysokie
W jądrze Linux w f2fs funkcja F2FS_IOC_MOVE_RANGE sprawdza zakres źródłowy, ale nie sprawdza końca zakresu docelowego przed aktualizacją i_size. Dziura w źródle może to ujawnić, ponieważ __clone_blkaddrs() pomija wpisy NULL_ADDR i zwraca sukces, pozwalając na rozszerzenie i-węzła docelowego bez sprawdzenia pos_out + len.
- CVE-2026-89838Wysokie
W jądrze Linux w f2fs nazwy plików odzyskiwania są przechowywane jako długość plus bufor i_name o stałym rozmiarze, który nie jest zakończony NUL. Funkcje recover_inode() i recover_dentry() wypisują go przez %s, co dla nazwy 255-bajtowej może odczytać dane poza buforem i_name.
- 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-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 10%
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-89796Niskie ryzyko· EPSS 11%
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-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 11%
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 11%
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

