Podatności Linux kernel
10 419 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-99179Niskie ryzyko· EPSS 7%
W jądrze Linux występuje wyścig między funkcjami watch_queue_set_size() a post_one_notification(). Nieuprzywilejowany użytkownik może wywołać dereferencję NULL w post_one_notification(), co prowadzi do paniki jądra (kernel panic).
- CVE-2026-99178Niskie ryzyko· EPSS 7%
W jądrze Linux występuje wyścig w obsłudze asynchronicznych błędów braku strony (#PF) KVM. Jeśli NMI przerwie obsługę #PF, a sam spowoduje #PF w trybie jądra, dochodzi do odczytu i wyczyszczenia flag należących do przerwanego zdarzenia, co kończy się paniką jądra z komunikatem o wstrzykniętym asynchronicznym #PF w regionie z wyłączonymi przerwaniami.
- CVE-2026-99177Wysokie
W module KVM SEV jądra Linux funkcja sev_gmem_post_populate() wywołuje set_page_dirty() bez wymaganej blokady, co może prowadzić do wyścigu z zanikaniem mapowania strony. Poprawka zastępuje wywołanie funkcją set_page_dirty_lock().
- CVE-2026-99176Niskie ryzyko· EPSS 9%
W jądrze Linux naprawiono błąd w KVM (nVMX), gdzie niepowodzenie ładowania stanu L2 w przypadku innym niż VM-Entry (emulacja RSM lub KVM_SET_NESTED_STATE) pozostawiało wskaźnik MMU vCPU wskazujący na zagnieżdżony MMU. Prowadziło to do próby uruchomienia L1 z zagnieżdżonym MMU i w konsekwencji do dereferencji NULL, gdy zagnieżdżony stan został zwolniony, a KVM próbował pobrać EPTP dla L1=>L2.
- CVE-2026-99175Niskie ryzyko· EPSS 6%
W jądrze Linux naprawiono wyścig w fsnotify podczas niszczenia connectora. Nowa marka mogła zostać wstawiona przed aktualnie przetwarzaną, co powodowało pominięcie jej przez algorytm i odłączenie całego connectora od obiektu. Prowadziło to do wywołania igrab(NULL) i błędu null-ptr-deref przy odczycie fdinfo przez nieuprzywilejowanego użytkownika.
- CVE-2026-99174Niskie ryzyko· EPSS 7%
W jądrze Linux w podsystemie ext4 występuje use-after-free związany z funkcją ext4_get_link(), która w trybie pathwalk RCU odczytuje dane przez sb->s_fs_info. Funkcja ext4_put_super() zwalnia sbi i niszczy liczniki extent status bez oczekiwania na okres karencji, co może prowadzić do dereferencji NULL lub użycia zwolnionej pamięci, gdy ostatnia referencja do montowania zniknie w trakcie pathwalk.
- CVE-2026-99173Wysokie
W jądrze Linux występuje podatność use-after-free w mechanizmie eventfs. Funkcja tracefs_d_revalidate() odczytuje pole ->is_freed obiektu eventfs_inode w trybie pathwalk z jedynie rcu_read_lock(), podczas gdy zwolnienie tego obiektu następuje po okresie karencji SRCU, który nie czeka na sekcje rcu_read_lock(). W rezultacie wątek może odczytać już zwolnioną pamięć.
- CVE-2026-99170Wysokie
W jądrze Linux występuje luka w obsłudze przestrzeni nazw montowań: copy_tree() pomija montowania plików przestrzeni nazw (np. /proc/<pid>/ns/mnt) bez sprawdzania flagi MNT_LOCKED. Pozwala to zadaniu z uprawnieniami roota we własnej przestrzeni nazw użytkownika obejść zablokowaną zasłonę montowania i odsłonić ukryty plik bez wyścigu i bez modyfikacji systemu plików. Poprawka nakazuje odrzucać takie kopiowanie z EPERM oraz blokuje przenoszenie montowania pliku przestrzeni nazw pod zablokowane montowanie.
- CVE-2026-99169Niskie ryzyko· EPSS 7%
W jądrze Linux mechanizm futex dla FUT_OFF_MMSHARED nieprawidłowo obsługuje ponowne użycie MM: proces może czekać na współdzielony futex z innym MM, ponieważ oczekujący FUT_OFF_INODE może zostać przepięty na futex FUT_OFF_MMSHARED przez inny proces. Powoduje to, że oczekujący na zwolnionym MM konsumują wybudzenia przeznaczone dla nowo przydzielonego MM pod tym samym adresem.
- CVE-2026-99167Wysokie
W jądrze Linux w funkcji __tcf_action_put() (net/sched) występuje use-after-free: licznik referencji jest zmniejszany przed licznikiem powiązań, więc inny wątek może zwolnić akcję pomiędzy tymi operacjami, powodując dostęp do zwolnionej pamięci przy aktualizacji licznika powiązań.
- CVE-2026-99166Niskie ryzyko· EPSS 7%
W jądrze Linux w obsłudze RDS (net: rds) występuje błąd niezainicjalizowanego wskaźnika trans w rds_rdma_cm_event_handler_cmn(). Wskaźnik trans jest ustawiany tylko dla urządzeń InfiniBand CA, a dla innych typów (np. iWARP RNIC) pozostaje niezainicjalizowany i jest wykorzyskiwany w obsłudze zdarzeń, co prowadzi do awarii jądra (oops) przy próbie połączenia.
- CVE-2026-99165Niskie ryzyko· EPSS 7%
W jądrze Linux naprawiono błąd w obsłudze SCTP, który występuje przy włączonym przeplotzie komunikatów (message interleaving). Pierwsze wysłanie czeka na ustanowienie asocjacji, zwalniając blokadę gniazda, a w tym czasie uzgadnianie może zmniejszyć liczbę strumieni wyjściowych i zwolnić ich rozszerzenia. Wysyłający wznawia pracę ze strumieniem sprawdzonym przed czekaniem, co prowadzi do dereferencji NULL i paniki jądra.
- CVE-2026-99164Wysokie
W jądrze Linux w sterowniku SPI imx występuje błąd polegający na alokacji buforów DMA o zbyt małym rozmiarze (kzalloc(dma_len) zamiast DMA_CACHE_ALIGNED_LEN(dma_len)), podczas gdy API DMA operuje na pamięci wykraczającej poza koniec alokacji. Prowadzi to do uszkodzenia pamięci (slab corruption), objawiającego się ostrzeżeniami refcount_t i oopsem jądra. Problem został naprawiony przez użycie właściwego rozmiaru przy alokacji i synchronizacji.
- CVE-2026-99163Wysokie
W jądrze Linux w funkcji check_synth_field() nieprawidłowo walidowano pola syntetycznych zdarzeń śledzenia typu stacktrace. Pole 8-bajtowe typu całkowitego mogło przejść walidację i zostać następnie zinterpretowane jako wskaźnik stosu jądra, co prowadzi do nieprawidłowego odczytu pamięci.
- CVE-2026-99161Niskie ryzyko· EPSS 8%
W sterowniku i2c viai2c-wmt funkcja wmt_i2c_probe() pozyskuje zegar przez of_clk_get(), ale nie zwalnia referencji w przypadku błędu ani przy wyładowaniu modułu. Prowadzi to do wycieku zasobu zegara.
- CVE-2026-99160Niskie ryzyko· EPSS 6%
W ring-buffer pliki per_cpu/cpuN/buffer_meta są tworzone dla każdego możliwego CPU, ale bufor jest alokowany dopiero po włączeniu CPU. Odczyt pliku dla CPU, który nigdy nie został włączony, powoduje dereferencję NULL w rbm_start().
- CVE-2026-99159Niskie ryzyko· EPSS 7%
W ring-buffer funkcja rb_meta_subbuf_idx() może zwrócić indeks podbufora o jeden za wysoki, przez co subbuf_ids[0] pozostaje NULL i jest dereferencjonowany w __rb_map_vma() przy mapowaniu trace_pipe_raw. Błędne indeksy trafiają też do metadanych, powodując odrzucenie poprzedniego śladu przy następnym rozruchu.
- CVE-2026-99158Niskie ryzyko· EPSS 6%
W ring-buffer funkcja ring_buffer_map_get_reader() traktuje wynik NULL z rb_get_reader_page() jako błąd i emituje fałszywe ostrzeżenie, gdy czytnik mmap dogania pisarza w trakcie zatwierdzania zdarzeń. Stan ten jest normalny i nie powinien być zgłaszany jako błąd.
- CVE-2026-99157Niskie ryzyko· EPSS 7%
W podsystemie scsi bsg biblioteka bsg-lib alokuje 96-bajtowy bufor odpowiedzi, podczas gdy struct ufs_rpmb_reply ma 104 bajty. Gdy polecenie Advanced RPMB zwraca EHS, ufshcd_advanced_rpmb_req_handler() zapisuje 8 bajtów poza końcem bufora.
- CVE-2026-99156Wysokie
W jądrze Linux w sterowniku scsi: st występuje wyścig use-after-free między st_remove() a st_open(). st_remove() usuwa wpis z idr dopiero po zwolnieniu referencji, więc równoległe st_open() może znaleźć zwolnioną strukturę i wykonać na niej kref_get().
- CVE-2026-99155Niskie ryzyko· EPSS 8%
W jądrze Linux w sterowniku xen/scsifront funkcja scsifront_do_response() sprawdza rqid tylko górnym zakresem, ale nie weryfikuje, czy slot shadow[] jest wypełniony. Złośliwy lub błędny backend może zwrócić odpowiedź z rqid w zakresie, ale nieaktywnym, powodując dereferencję NULL.
- CVE-2026-99150Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku drm/amdgpu funkcja amdgpu_debugfs_gpr_read() zwalnia referencję runtime PM zaraz po odczycie rejestrów fali. Gdy kopiowanie danych do przestrzeni użytkownika się nie powiedzie, kod przechodzi do etykiety err i zwalnia referencję po raz drugi, co powoduje niedomiar licznika (Runtime PM usage count underflow) lub kradzież referencji należącej do kogoś innego.
- CVE-2026-99148Wysokie
W jądrze Linux w sterowniku drm/amdgpu funkcja amdgpu_gem_object_close() odłącza ogrodzenie eviction kolejki użytkownika od BO przed sprawdzeniem bo_va->ref_count. Zamknięcie dowolnego uchwytu BO usuwa ogrodzenie, mimo że plik nadal ma inny uchwyt i mapowania GPU, co pozwala na eviction BO bez zawieszenia kolejek użytkownika.
- CVE-2026-99147Niskie ryzyko· EPSS 7%
W jądrze Linux w module drm/exec wykrycie kontencji powoduje pobranie referencji do spornego obiektu i jego wstępne zablokowanie. Jeśli obiekt był w trakcie niszczenia, drm_exec trzyma ostatnią referencję, ale obiekt nigdy nie trafia do tablicy zablokowanych obiektów, więc nie rezerwuje się dla niego slotu dma_fence, co może wywołać ostrzeżenie lub BUG_ON().
- CVE-2026-99143Wysokie
W jądrze Linux w module tracing funkcja predicate_parse() dodaje dwa do nr_preds, rezerwując terminalne wpisy TRUE i FALSE, i używa tej zwiększonej wartości jako limitu parsowanych predykatów. Jeśli początkowa liczba jest mniejsza niż faktycznie sparsowana, program może wypełnić alokację i kolejne dostępy wychodzą poza jej koniec.
- CVE-2026-99142Wysokie
W jądrze Linux w module tracing funkcja predicate_parse() używa pierwszego wpisu stosu operatorów przed przetworzeniem nawiasów otwierających. Operacja push zwiększa top przed zapisem, a istniejąca kontrola nadal pozwala na zapis, gdy top wskazuje ostatni przydzielony wpis, co może spowodować dostęp poza stosem operatorów.
- CVE-2026-99140Niskie ryzyko· EPSS 6%
W jądrze Linux naprawiono błąd w podsystemie tracing, dotyczący znaczników czasu w triggerach hist dla zdarzeń buforowanych. Gdy plik zdarzenia ma filtr, a trigger hist nie jest jeszcze podłączony, zdarzenie trafia do bufora tymczasowego bez inkrementacji licznika committing, co powoduje ostrzeżenie WARN_ON_ONCE w ring_buffer_event_time_stamp. Poprawka używa funkcji tracing_event_time_stamp() w hist_field_timestamp(), aby zamiast ostrzeżenia zapisać bieżący znacznik czasu.
- CVE-2026-99139Niskie ryzyko· EPSS 6%
W jądrze Linux w funkcji do_tcp_getsockopt() dla opcji TCP_CONGESTION występuje use-after-free. Wskaźnik icsk_ca_ops jest odczytywany bez blokady RCU, a przy BPF struct_ops może wskazywać na pamięć zwolnioną równolegle przez setsockopt(TCP_CONGESTION).
- CVE-2026-99138Niskie ryzyko· EPSS 6%
W jądrze Linux w do_tcp_getsockopt() dla opcji TCP_CC_INFO występuje use-after-free. Wskaźnik icsk_ca_ops i wskaźnik funkcji get_info są używane bez rcu_read_lock(), a przy BPF struct_ops mogą wskazywać na zwolnioną pamięć.
- CVE-2026-99136Wysokie
W jądrze Linux w dm-crypt funkcja crypt_dec_pending odczytuje io->error przed atomic_dec_and_test, co tworzy warunek wyścigu. W rezultacie nieudany odczyt lub zapis może zostać błędnie zaraportowany jako zakończony sukcesem.
- CVE-2026-99135Niskie ryzyko· EPSS 7%
W jądrze Linux w dm-integrity funkcja integrity_metadata przy obsłudze discard może wejść w nieskończoną pętlę, gdy rozmiar tagu przekracza HASH_MAX_DIGESTSIZE, a alokacja kmalloc zawiedzie. Wtedy max_blocks wynosi zero i bi_size nigdy nie jest zmniejszany.
- CVE-2026-99134Niskie ryzyko· EPSS 6%
W jądrze Linux w module mac802154 występował wyścig danych oraz możliwość dereferencji NULL wskaźnika local->assoc_dev. Wskaźnik współdzielony między ścieżką asocjacji a wątkiem obsługi odpowiedzi nie był synchronizowany, co mogło prowadzić do użycia zwolnionego obiektu lub odwołania się do NULL. Poprawka zastępuje wskaźnik buforowanym adresem i chroni go dedykowanym spinlockiem.
- CVE-2026-99133Niskie ryzyko· EPSS 7%
W jądrze Linux w net/iucv funkcja iucv_sock_recvmsg() wysyła flagę AF_IUCV_FLAG_WIN bez sprawdzenia transportu, co przy klasycznym gnieździe z/VM powoduje dereferencję NULL i fałszywe rozłączenie. Dodatkowo wysyłka pod spin_lock_bh prowadzi do wyścigu i podwójnego wykorzystania kredytu okna.
- CVE-2026-99132Niskie ryzyko· EPSS 6%
W jądrze Linux w XFS funkcja xfs_sync_sb_buf() trzyma blokady buforów sb/rtsb podczas synchronicznego xfs_trans_commit(), co przy shutdownie podczas CIL push prowadzi do zakleszczenia. Poprawka usuwa wywołania xfs_trans_bhold() i ponownie pozyskuje bufory po commicie.
- CVE-2026-99131Wysokie
W jądrze Linux w XFS kontrola uprawnień używa has_capability_noaudit(), które sprawdza rzeczywiste poświadczenia zamiast efektywnych. Umożliwia to obejście limitów quota grupowych przez zmianę gid pliku na inną grupę użytkownika, np. przez klienta NFS.
- CVE-2026-99130Niskie ryzyko· EPSS 6%
W jądrze Linux naprawiono błąd w mechanizmie io_uring/cancel, gdzie funkcja io_uring_cancel_generic() odmawiała uśpienia, gdy w pierścieniu zadań zakończonego zadania pozostawała lokalna praca. W przypadku pierścienia utworzonego jako wyłączony (IORING_SETUP_R_DISABLED) i później włączonego przez inne zadanie, zadanie kończące się mogło wpaść w pętlę zajmującą CPU i wywołać WARN_ON_ONCE(), a przy panic_on_warn doprowadzić do paniki jądra. Poprawka polega na pomijaniu uśpienia tylko wtedy, gdy io_allowed_defer_tw_run() pozwala zadaniu na wykonanie pracy, oraz usunięciu WARN_ON_ONCE().
- CVE-2026-99128Niskie ryzyko· EPSS 7%
W jądrze Linux naprawiono podatność w parserze kolejki odbiorczej SCTP (sctp_inq_pop), który akceptował chunki o zadeklarowanej długości mniejszej niż 4-bajtowy nagłówek generyczny. Gdy ASCONF jest objęty polityką SCTP-AUTH, zdalny peer może wielokrotnie zwracać ten sam zniekształcony chunk i doprowadzić do zablokowania softirq odbiorczego (soft-lockup).
- CVE-2026-99127Niskie ryzyko· EPSS 6%
W jądrze Linux w funkcji page_pool_alloc_frag_netmem() rozmiar fragmentu nie jest wyrównywany na architekturach bez ARCH_DMA_MINALIGN (np. x86), co powoduje przesunięcie frag_offset o nieparzystą wartość. Kolejni użytkownicy współdzielonej puli stron otrzymują niez wyrównane bufory, a w skrajnym przypadku atomic_inc() w __skb_clone() przecina linię cache, co przy włączonym wykrywaniu split lock prowadzi do paniki jądra (Oops: Split lock detected).
- CVE-2026-99126Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku s390/ctcm naprawiono błąd polegający na dereferencji NULL w funkcji mpc_validate_xid(). Gdy XID peera jest NULL lub wystąpi niezgodność parowania kanałów r/w, grp->saved_xid2 nie jest inicjalizowane, a próba ustawienia flagi powoduje dereferencję NULL.
- CVE-2026-99124Niskie ryzyko· EPSS 6%
W jądrze Linux w podsystemie s390/pci naprawiono wyciek niezainicjalizowanych danych jądra w raporcie SCLP. Funkcja report_error_write() nie sprawdzała, czy bufor jest wystarczająco duży dla długości raportu podanej w report->length, co przy krótkim buforze użytkownika powodowało odczyt poza granicami bufora i wyciek do około 4K danych jądra.
- CVE-2026-99123Wysokie
W jądrze Linux w vsock/virtio naprawiono brak walidacji źródła pakietu dla połączonych gniazd. Funkcja virtio_transport_recv_pkt() mogła wybrać gniazdo niebędące w stanie nasłuchiwania przez wyszukiwanie tylko po adresie docelowym, bez sprawdzania źródła, co pozwalało niepowiązanemu źródłu zmienić stan gniazda ofiary na TCP_ESTABLISHED i dostarczyć pakiety RW.
- CVE-2026-99122Wysokie
W jądrze Linux w vsock/vmci naprawiono brak walidacji źródła pakietu dla połączonych gniazd. Funkcja vmci_transport_recv_stream_cb() mogła wybrać gniazdo niebędące w stanie nasłuchiwania przez wyszukiwanie tylko po adresie docelowym, bez sprawdzania, czy pakiet pochodzi od zapisanego peera; RST z innego kontekstu mógł zresetować gniazdo w stanie TCP_SYN_SENT.
- CVE-2026-99121Niskie ryzyko· EPSS 7%
W jądrze Linux w podsystemie IPv4 naprawiono dzielenie przez zero w funkcji fib_rebalance(). Równoległa zmiana ignore_routes_with_linkdown mogła sprawić, że pierwszy przebieg zwrócił zerową sumę wag, podczas gdy drugi przebieg widział kwalifikujący się nexthop, co prowadziło do dzielenia przez zero.
- CVE-2026-99118Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku drm/i915/dmc wzmocniono parsowanie zawartości firmware'u DMC. Dodano walidację konwersji rozmiaru firmware'u z dwords na bajty za pomocą check_mul_overflow() przed obliczeniem rozmiaru ładunku, odrzucanie ładunków o zerowej długości i zerowych liczników MMIO w nagłówku oraz ustawianie dmc_fw_size dopiero po udanej alokacji.
- CVE-2026-99117Wysokie
W jądrze Linux w podsystemie mostu sieciowego (net: bridge) podczas usuwania portu wielokrotnego rozgłaszania (multicast) dochodzi do przedwczesnego przerwania iteracji po liście grup portu. Funkcja hlist_del_init() czyści wskaźnik ->next usuwanego węzła, co kończy pętlę i pozostawia grupy portu z wiszącym wskaźnikiem ->key.port po zwolnieniu portu, prowadząc do użycia po zwolnieniu (use-after-free) wykrywanego przez KASAN w __mdb_fill_info.
- CVE-2026-99116Wysokie
W jądrze Linux w podsystemie net/psp naprawiono błąd polegający na dziedziczeniu asocjacji Rx przy klonowaniu gniazda. Ponieważ sk->psp_assoc znajduje się poza sk_dontcopy_end, sock_copy() kopiowało je do każdego zaakceptowanego gniazda bez zwiększania referencji, co prowadziło do use-after-free w psp_twsk_assoc_free. Poprawka czyści asocjację przy klonowaniu.
- CVE-2026-99115Niskie ryzyko· EPSS 6%
W jądrze Linux w serwerze ksmbd uzupełniono pole FileSysIdentifier w odpowiedzi FS_POSIX_INFORMATION. Funkcja smb2_get_info_filesystem() raportowała 56 bajtów, ale nie przypisywała tego pola, przez co osiem bajtów z bufora odpowiedzi trafiało do klienta. W żądaniach złożonych (compound) mogło to prowadzić do wycieku danych z wcześniejszych odpowiedzi.
- CVE-2026-99114Niskie ryzyko· EPSS 6%
W jądrze Linux w serwerze ksmbd zainicjalizowano pole FileSystemControlFlags w odpowiedzi FS_CONTROL_INFORMATION. Funkcja smb2_get_info_filesystem() raportowała 48 bajtów, ale nie przypisywała tego pola, przez co cztery bajty z bufora odpowiedzi trafiały do klienta. W żądaniach złożonych mogło to prowadzić do wycieku danych z wcześniejszych odpowiedzi.
- CVE-2026-99113Niskie ryzyko· EPSS 6%
W jądrze Linux w serwerze ksmbd wyzerowano bufor FS_OBJECT_ID_INFORMATION przed wypełnieniem. Funkcja smb2_get_info_filesystem() raportowała 64 bajty, ale zapisywała tylko 46, pozostawiając 31 bajtów niezainicjalizowanych. W żądaniach złożonych mogło to prowadzić do wycieku danych z wcześniejszych odpowiedzi, w tym z odpowiedzi zakończonych błędem odmowy dostępu.
- CVE-2026-99112Wysokie
W jądrze Linux w module net/sched: cls_flower występuje błąd walidacji wskaźnika maski po wywołaniu nla_next(). Funkcja fl_set_enc_opt() iteruje po atrybutach opcji tunelu klucza, przesuwając pojedynczy wskaźnik maski na podstawie liczby atrybutów klucza, a nie własnych atrybutów maski; wskaźnik utworzony przez nla_next() nie jest walidowany przed użyciem w kolejnej iteracji, co prowadzi do odczytu poza granicami bufora (slab-out-of-bounds) w __nla_validate_parse wywoływanej z fl_change().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

