Podatności Linux kernel
10 419 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-98614Niskie ryzyko· EPSS 7%
W jądrze Linux w stosie SCTP funkcja sctp_assoc_update_retran_path() mogła zapętlić się w nieskończoność, gdy wszystkie pozostałe transporty, w tym retran_path, były w stanie SCTP_UNCONFIRMED, ponieważ sprawdzenie stanu wykonywało się przed testem zawinięcia pętli. Poprawka uwzględnia transport tylko gdy nie jest UNCONFIRMED i sprawdza powrót do retran_path, przywracając też zabezpieczenie przed przypisaniem NULL.
- CVE-2026-98613Niskie ryzyko· EPSS 7%
W jądrze Linux naprawiono podatność w mechanizmie BPF dotyczącą śledzenia własności obiektów lokalnych przez wskaźniki kptr. Samoodwołujące się lub długie łańcuchy typów lokalnych kptr mogły prowadzić do wyczerpania stosu jądra podczas zwalniania obiektu. Wprowadzono ograniczenie głębokości własności do ośmiu typów oraz odrzucanie cykli.
- CVE-2026-98612Niskie ryzyko· EPSS 8%
W jądrze Linux w sterowniku USB catc funkcja catc_rx_done() sprawdzała długość pakietu względem całego transferu (urb->actual_length) zamiast pozostałych bajtów od pkt_start, przez co spreparowany nagłówek pakietu powodował odczyt poza bufor w skb_copy_to_linear_data(). Akceptowana była też długość poniżej ETH_HLEN, w tym zero, co prowadziło do odczytu nagłówka MAC z niezainicjalizowanego obszaru.
- CVE-2026-98611Niskie ryzyko· EPSS 6%
W jądrze Linux funkcja bpf_crypto_ctx_create() (kfunc) odczytywała pola params->reserved[0] i params->reserved[1] przed sprawdzeniem, czy params__sz jest co najmniej rozmiarem struktury bpf_crypto_params, mimo że verifier gwarantuje ważność tylko params__sz bajtów. Program BPF mógł przekazać krótszy bufor i spowodować odczyt poza zweryfikowanym obszarem.
- CVE-2026-98610Niskie ryzyko· EPSS 11%
W jądrze Linux w funkcji hfsc_classify() (net/sched: sch_hfsc) filtr z przypisanym flowid nie podlega sprawdzeniu poziomu, ponieważ res.class jest ustawiane raz przy bindowaniu. Gdy hfsc_adjust_levels() później podniesie poziom klasy bez ponownej walidacji istniejących powiązań, dwa legalne przy bindowaniu filtry mogą wskazywać na siebie nawzajem, powodując zapętlenie się klasyfikacji z trzymaną blokadą qdisc i wyłączonym BH — soft lockup od jednego pakietu. Podatność jest osiągalna dla nieuprzywilejowanego użytkownika przez unshare -Urn (CAP_NET_ADMIN).
- CVE-2026-98609Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku drm/virtio funkcja virtio_gpu_gem_create() na ścieżce błędu drm_gem_handle_create() wywoływała drm_gem_object_release() zamiast zwolnić referencję, co pozostawiało obiekt bo z licznikiem referencji 1 bez ważnej referencji. W efekcie virtio_gpu_free_object() nigdy się nie uruchamiał i dochodziło do wycieku stron shmem, tablicy sg, obiektu virtio_gpu_object oraz zasobu po stronie hosta i jego identyfikatora.
- CVE-2026-98608Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku drm/virtio funkcja virtio_gpu_resource_create_ioctl() na ścieżce błędu drm_gem_handle_create() wywoływała drm_gem_object_release() zamiast zwolnić posiadaną referencję, przez co obj->funcs->free() nigdy się nie uruchamiał. Powodowało to wyciek obiektu virtio_gpu_object, jego stron i tablicy sg, identyfikatora zasobu oraz zasobu po stronie hosta.
- CVE-2026-98607Niskie ryzyko· EPSS 6%
W jądrze Linux w funkcji virtio_gpu_resource_create_blob_ioctl() sterownika drm/virtio występuje wyciek obiektów. W ścieżkach błędów wywoływane jest drm_gem_object_release() zamiast zwolnienia referencji, przez co funkcja free() nigdy się nie wykonuje i dochodzi do wycieku obiektu virtio_gpu_object, identyfikatora zasobu oraz zasobu po stronie hosta.
- CVE-2026-98606Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja virtio_gpu_vram_create() sterownika drm/virtio zwalnia obiekt przez samo kfree(vram) w ścieżkach błędów po inicjalizacji GEM. Zwolniony obiekt pozostaje w drzewie przedziałów menedżera VMA, przez co późniejsze wyszukiwanie lub wstawianie operuje na zwolnionej pamięci, a blokady dma_resv i gpuva nigdy nie są niszczone.
- CVE-2026-98605Niskie ryzyko· EPSS 6%
W jądrze Linux sterownik drm/bridge samsung-dsim ma nieprawidłowy cykl życia GPIO TE przy podłączaniu hosta. Po przejściu na devm_gpiod_get_optional() pozostawiono pasujące wywołania gpiod_put(), co jest błędne dla zarządzanego deskryptora; jednocześnie samo usunięcie puts jest również niepoprawne, ponieważ rejestracja IRQ TE odbywa się w callbacku attach hosta, a detach/reattach może nastąpić bez zniszczenia urządzenia.
- CVE-2026-98604Niskie ryzyko· EPSS 9%
W jądrze Linux moduł ovpn publikuje struct ovpn_bind przez peer->bind z użyciem RCU, ale nauka lokalnego punktu końcowego aktualizuje bind->local w miejscu pod peer->lock, podczas gdy ścieżka UDP TX czyta to pole bez tej blokady. Współbieżna aktualizacja IPv6 może spowodować odczyt rozerwanego adresu.
- CVE-2026-98603Niskie ryzyko· EPSS 9%
W jądrze Linux moduł ovpn w ścieżce fallbacku wyjścia UDP czyści bind->local w miejscu, gdy zapamiętany adres źródłowy nie jest już użyteczny. Ponieważ bind jest publikowany przez RCU i czytany bez blokady przez współbieżny TX, czytelnik IPv6 może zaobserwować rozerwany adres.
- CVE-2026-98602Niskie ryzyko· EPSS 11%
W jądrze Linux w przetwarzaniu ramek Bluetooth BNEP występują liczne odczyty poza granicami bufora. Funkcje bnep_rx_frame() i bnep_ctrl_frame() nie weryfikują istnienia nagłówka BNEP, bajtu typu kontroli, liczby filtrów i nagłówków rozszerzeń przed ich odczytem, a bnep_net_xmit() czyta 14-bajtowy nagłówek Ethernet bez sprawdzenia skb->len >= ETH_HLEN.
- CVE-2026-98601Niskie ryzyko· EPSS 9%
W jądrze Linux sterownik Bluetooth btintel_pcie nie waliduje indeksów DMA dostarczanych przez urządzenie. Pole urbd1->frbd_tag jest używane bez sprawdzenia granic jako indeks tablicy rxq->bufs[] mającej tylko 64 wpisy, a cr_hia odczytywane z tablicy indeksów współdzielonej przez DMA może powodować nieskończoną pętlę, gdy przekroczy rxq->count.
- CVE-2026-98600Niskie ryzyko· EPSS 7%
W jądrze Linux funkcja rfcomm_recv_frame() akceptuje zbyt krótkie ramki RFCOMM z rozszerzonym polem długości (EA=0). Sprawdzenie długości przepuszcza 4-bajtową ramkę, a po przycięciu FCS skb_pull() kończy się niepowodzeniem, którego wynik jest ignorowany, przez co nieusunięty 3-bajtowy nagłówek jest przetwarzany jako dane aplikacji lub polecenie multipleksera.
- CVE-2026-98599Niskie ryzyko· EPSS 8%
W jądrze Linux funkcja stack_slot_obj_get_spi() nie odrzuca nieujemnych przesunięć. Dla off == 0 obliczany indeks spi jest taki sam jak dla prawidłowego slotu stosu pod fp-8, przez co rejestr PTR_TO_STACK wskazujący fp+0 może zostać zatwierdzony względem iteratora zapisanego pod fp-8, a efektowna funkcja kfunc iteratora może interpretować pamięć poza stosem BPF jako stan iteratora.
- CVE-2026-98598Niskie ryzyko· EPSS 9%
W jądrze Linux występuje luka w obsłudze wyjątków routingu IPv6. Podczas usuwania trasy (fib6_info) funkcja rt6_insert_exception() może utworzyć nowy wyjątek, ponieważ flaga FIB6_EXCEPTION_BUCKET_FLUSHED nie jest już ustawiana w odpowiednim momencie. Prowadzi to do cyklu referencji, wycieku pamięci i zablokowania wyrejestrowania interfejsu sieciowego.
- CVE-2026-98597Niskie ryzyko· EPSS 7%
W jądrze Linux sterownik USB sr9700 sprawdzał długość ładunku pakietu względem całego bufora odbiorczego, nie uwzględniając narzutu nagłówka i CRC. Może to prowadzić do błędu w obliczeniach długości i nieprawidłowego kopiowania danych.
- CVE-2026-98596Niskie ryzyko· EPSS 9%
W jądrze Linux występuje wyścig w obsłudze tras IPv6, gdzie równoczesne wywołanie list_del_init() powoduje, że list_empty() zwraca prawdę i prowadzi do wycieku struktur dst oraz powiązanych urządzeń. Problem dotyczy tras niebuforowanych (uncached).
- CVE-2026-98595Niskie ryzyko· EPSS 9%
W jądrze Linux naprawiono błąd w obsłudze gniazd UDP, polegający na pozostawaniu wpisu rozłączonego gniazda w tablicy haszującej 4-tuple. Powoduje to utrzymywanie licznika hash4_cnt i kierowanie pakietów dla danego adresu i portu najpierw przez wyszukiwanie 4-tuple, a w przypadku IPv6 umożliwia dopasowanie datagramów od byłego peera z zerowym portem źródłowym. Poprawka usuwa gniazdo z tablicy przed wykonaniem __udp_disconnect().
- CVE-2026-98594Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik tg3 nie zwalnia zasobów PHYLIB (magistrala MDIO i PHY) w przypadku niepowodzenia funkcji tg3_init_one(). Prowadzi to do wycieku zasobów przy błędzie inicjalizacji.
- CVE-2026-98593Niskie ryzyko· EPSS 6%
W jądrze Linux funkcja debug_info_copy() w podsystemie s390/debug może wywołać dereferencję wskaźnika NULL, gdy debug_register_static() zawiedzie i pozostawi niezmienione granice obszaru przy wyczyszczonych wskaźnikach. Problem występuje przy kopiowaniu takiego obszaru.
- CVE-2026-98592Niskie ryzyko· EPSS 9%
W jądrze Linux sterownik sieciowy spacemit nie czyści deskryptora TX w przypadku niepowodzenia mapowania fragmentu, pozostawiając flagę TX_DESC_0_OWN i nieaktualne adresy DMA. Może to prowadzić do użycia zwolnionej pamięci przez silnik DMA.
- CVE-2026-98591Niskie ryzyko· EPSS 9%
W jądrze Linux funkcja skb_pointer_if_linear() używa odejmowania na liczbach bez znaku, co może spowodować niedomiar i błędne przejście sprawdzenia granic. Prowadzi to do wygenerowania nieprawidłowego wskaźnika w dynptr BPF opartych na skb.
- CVE-2026-98590Niskie ryzyko· EPSS 11%
W jądrze Linux kod dostępu do kontekstu bpf_sock generuje nieprawidłowe wartości rejestru przy odczycie pola rx_queue_mapping, ponieważ używa instrukcji MOV64 z rozszerzeniem znaku zamiast MOV32. Prowadzi to do rozbieżności między wartością w czasie wykonania a założeniami weryfikatora.
- CVE-2026-98589Niskie ryzyko· EPSS 8%
W jądrze Linux weryfikator BPF nie odrzuca przekazywania wskaźników PTR_TO_PACKET do podprogramów, które mogą modyfikować pakiet. Ponieważ wskaźniki te są przekazywane jako PTR_TO_MEM, może dojść do użycia nieprawidłowej pamięci.
- CVE-2026-98588Niskie ryzyko· EPSS 10%
W jądrze Linux w funkcji sock_map_alloc() nie sprawdzano górnego limitu parametru max_entries, akceptując wartości do UINT_MAX. Przy tworzeniu mapy SOCKMAP z max_entries = 0xffffffff licznik w sock_map_free() przechodzi w wartość ujemną (przepełnienie int), co prowadzi do zapisu poza zakresem przydzielonej pamięci i może spowodować awarię jądra lub uszkodzenie pamięci.
- CVE-2026-98587Niskie ryzyko· EPSS 8%
W jądrze Linux w sterowniku firewire cdev występuje błąd przejścia wstecznego stanu zasobu klienta iso_resource_auto. Równoczesny dostęp z elementu roboczego i funkcji zwalniania deskryptora pliku może spowodować przejście stanu z ISO_RES_AUTO_DEALLOC z powrotem do ISO_RES_AUTO_REALLOC. Poprawka sprawdza bieżący stan przed jego aktualizacją w elemencie roboczym.
- CVE-2026-98586Niskie ryzyko· EPSS 6%
W jądrze Linux w stosie SCTP występuje wyścig w obsłudze timerów. Kod wywołuje mod_timer() przed pobraniem referencji potrzebnej przez ponownie uzbrojony timer, bez trzymania blokady sock, co może prowadzić do użycia zwolnionego obiektu i niedomiaru licznika referencji. Poprawka pobiera referencję przed mod_timer() i zwalnia ją, jeśli timer był już uzbrojony.
- CVE-2026-98585Niskie ryzyko· EPSS 5%
W jądrze Linux w sterowniku eth fbnic występuje problem z zaokrąglaniem zerowego rozmiaru pierścienia. Funkcja roundup_pow_of_two() jest niezdefiniowana dla zera, a ethtool pozwala na przekazanie zerowego rozmiaru pierścienia do sterownika. Poprawka pozostawia zero bez zmian, dzięki czemu kontrola minimalnego rozmiaru odrzuca je deterministycznie.
- CVE-2026-98584Niskie ryzyko· EPSS 9%
W jądrze Linux w module net/sched funkcja em_text_dump() alokuje strukturę tcf_em_text na stosie bez jej wyzerowania. strscpy() zapisuje nazwę algorytmu i terminator NUL, pozostawiając pozostałe bajty niezainicjalizowane, które następnie są kopiowane do odpowiedzi netlink. Poprawka zeruje strukturę, zamykając wyciek.
- CVE-2026-98583Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku NFC nfcmrvl ścieżka odbioru pobierania firmware usuwa nagłówek NCI i odczytuje polecenie pomocnicze przed walidacją długości pakietu. Krótka ramka może dotrzeć do dostępu do danych przed odrzuceniem zniekształconego pakietu. Poprawka waliduje pełną długość polecenia pomocniczego przed usunięciem nagłówka NCI.
- CVE-2026-98582Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku NFC st21nfca funkcja st21nfca_hci_i2c_repack() przycina ramkę na znaczniku EOF przed usunięciem bajtowego upychania, zakładając obecność nagłówka LLC i dwóch bajtów CRC. Zniekształcona ramka może spowodować zbyt mało bajtów dla check_crc() lub odczyt poza długością skb. Poprawka wymaga minimalnej liczby bajtów ramkowania przed i po usunięciu upychania oraz odrzuca znacznik escape bez kodowanego bajtu.
- CVE-2026-98581Niskie ryzyko· EPSS 11%
W jądrze Linux występuje błąd w funkcji nfc_llcp_recv_dm() obsługującej gniazda NFC LLCP. Funkcja nie zdejmuje blokady gniazda ani nie usuwa go z listy connecting_sockets przed zmianą stanu na LLCP_CLOSED, co prowadzi do uszkodzenia listy i niezgodności licznika referencji. Nieuprzywilejowany proces lokalny może wywołać wyciek pamięci jądra i odmowę usługi (DoS).
- CVE-2026-98580Niskie ryzyko· EPSS 11%
W jądrze Linux w module NFC LLCP występuje wyścig (race condition) w cyklu życia kolejek akceptacji gniazd. Funkcja nfc_llcp_socket_release() używa bh_lock_sock(), które nie synchronizuje się z lock_sock() w procesie accept(), co może prowadzić do use-after-free lub dereferencji NULL w nfc_llcp_accept_unlink(). Poprawka zmienia synchronizację i przenosi zwalnianie struktur do workqueue.
- CVE-2026-98579Niskie ryzyko· EPSS 11%
W jądrze Linux w module NFC llcp funkcja nfc_genl_llc_sdreq() buduje listę węzłów TLV, ale trzy ścieżki błędów (błąd parsowania zagnieżdżonego atrybutu, brak pamięci przy alokacji TLV, błąd nfc_llcp_send_snl_sdreq()) pomijają zwolnienie już zakolejkowanych elementów. Poprawka kieruje je przez nową etykietę free_list, wzorując się na ścieżce SDRES.
- CVE-2026-98578Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku NFC st21nfca funkcja pomocnicza ISO15693 inventory usuwa dwubajtowy prefiks bez sprawdzenia jego obecności, a następnie akceptuje jednobajtową resztę przed odczytem data[1] jako DSFID. Poprawka wymaga prefiksu i co najmniej dwóch pozostałych bajtów przed skopiowaniem danych UID i odczytem DSFID.
- CVE-2026-98577Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja nfc_llcp_wks_sap() porównywała tylko długość service_name_len bajtów, przez co krótka nazwa usługi, np. "u", pasowała do dłuższych ciągów WKS, takich jak "urn:nfc:sn:snep". Poprawka wymaga dokładnego dopasowania długości przed wywołaniem strncmp().
- CVE-2026-98576Niskie ryzyko· EPSS 11%
W jądrze Linux funkcje nfc_llcp_wks_sap() i nfc_llcp_build_sdreq_tlv() przekazywały do pr_debug() ciągi niezakończone znakiem null przy użyciu specyfikatora %s. Bufory pochodzące z kmemdup() lub atrybutów netlink nie są gwarantowanie zakończone nullem, co powodowało odczyt poza przydzielonym obszarem (slab-out-of-bounds).
- CVE-2026-98575Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik nfc pn533 w funkcji pn533_acr122_is_rx_frame_valid() odczytywał pole frame->ccid.datalen bezpośrednio z ramki odpowiedzi USB i używał go bez sprawdzenia jako indeksu do frame->data[]. Złośliwe lub wadliwe urządzenie może ustawić dowolną wartość tego pola, powodując odczyt daleko poza odebranym buforem.
- CVE-2026-98574Niskie ryzyko· EPSS 9%
W jądrze Linux funkcje bcmgenet_netif_stop() oraz gałąź Wake-on-LAN w bcmgenet_suspend() wyłączały kolejki Tx przed zatrzymaniem Tx NAPI. Zakończenie transmisji w locie wywoływało netif_tx_wake_queue(), przez co transmisja mogła dotrzeć do pierścieni po ich zwolnieniu, powodując use-after-free.
- CVE-2026-98573Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja skb_maybe_pull_tail() odejmowała skb_headlen(skb) od argumentu max typu unsigned i przekazywała wynik do __pskb_pull_tail() jako signed int. Gdy skb miał obszar liniowy większy niż MAX_IPV6_HDR_LEN, różnica zawijała się do wartości ujemnej, co mogło prowadzić do bardzo dużego rozmiaru kopiowania w skb_copy_bits().
- CVE-2026-98572Niskie ryzyko· EPSS 10%
W jądrze Linux w kompilatorze BPF dla MIPS32 emitowano instrukcję addu zamiast addiu, przez co wartość natychmiastowa 1 była interpretowana jako rejestr $at. Powodowało to nieprawidłowy wynik porównania, gdy operand natychmiastowy był ujemny.
- CVE-2026-98571Niskie ryzyko· EPSS 9%
W jądrze Linux w funkcji stmmac_rx(), gdy napi_build_skb() kończy się niepowodzeniem, strona deskryptora jest zwracana do page pool przez page_pool_recycle_direct(), ale buf->page pozostaje wskazywać na zwróconą stronę. W efekcie stmmac_rx_refill() pomija alokację zastępczą i programuje już zwróconą stronę z powrotem do deskryptora RX.
- CVE-2026-98570Niskie ryzyko· EPSS 8%
W jądrze Linux tunele lwtunnel seg6, ioam6 i rpl obliczały rozmiar żądania skb_cow_head() jako długość nowych nagłówków plus dst_dev_overhead(), a następnie odbudowywały nagłówek MAC przez skb_mac_header_rebuild(). Gdy nagłówek MAC był dłuższy niż pozostawione miejsce (np. przy wejściu przez urządzenie VLAN z wyłączonym reorder_hdr), odbudowa obliczała ujemny offset i zapisywała dane około 64 KB poza skb->head.
- CVE-2026-98569Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja ipgre_netlink_parms() może włączyć collect_md na istniejącym urządzeniu GRE, GRETAP lub ERSPAN. W przeciwieństwie do newlink, changelink nie wymusza unikalności tunelu metadanych, więc konwersja urządzenia niemetanego może zastąpić wpis odbioru metadanych innego urządzenia w tej samej netns, a usunięcie któregokolwiek urządzenia czyści współdzielony wpis.
- CVE-2026-98568Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja vxlan_na_create() próbkowała LL_RESERVED_SPACE() do ustalenia rozmiaru ramki odpowiedzi, a następnie próbkowała ponownie do rezerwacji headroom. Równoległe vxlan_changelink() mogło zmienić needed_headroom między tymi odczytami, tworząc wyścig TOCTOU, w którym druga wartość mogła przekroczyć alokację i spowodować zapis nagłówka Ethernet poza granicami.
- CVE-2026-98567Niskie ryzyko· EPSS 11%
W jądrze Linux wykryto podatność w mechanizmie XPS (Transmit Packet Steering) w warstwie sieciowej. Gdy liczba klas ruchu (num_tc) zostanie zmniejszona, np. przez mqprio, w tablicach tc_to_txq[] i prio_tc_map[] pozostają nieaktualne wpisy. Funkcja __netif_set_xps_queue() nie odrzuca klasy spoza zakresu num_tc, co prowadzi do zapisu poza rozmiarem mapy XPS i uszkodzenia pamięci jądra (slab-out-of-bounds).
- CVE-2026-98566Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku drm/imagination nie ograniczano liczby żądań rekonstrukcji freelisty do rozmiaru tablic protokołu. Zbyt duża wartość licznika od firmware prowadziła do dostępu poza zakresem tablicy identyfikatorów żądań oraz tablicy odpowiedzi. Poprawka ogranicza licznik do pojemności żądania i używa go spójnie przy rekonstrukcji i publikacji odpowiedzi.
- CVE-2026-98565Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku net: dsa: mt7530 funkcja mt7530_remove() bezwarunkowo wyłącza regulatory core i io, mimo że są one pobierane tylko dla układu ID_MT7530. Na układach MT7621 i MT7531 wskaźniki te pozostają NULL, więc rmmod lub odłączenie przez sysfs powoduje wywołanie regulator_disable() na wskaźniku NULL.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

