Katalog podatności CVE
Przetłumaczone opisy podatności z bazy NVD NIST - w języku polskim
Przeglądaj podatności według pakietuKatalog CISA KEV zaktualizowany: (v2026.11.06)
Cotygodniowy digest CVE
Jeden mail w tygodniu z nowo opublikowanymi podatnościami, o których warto wiedzieć. Bez zakładania konta.
Digest dotyczy ogólnie nowych podatności, nie Twoich serwerów. Jeśli chcesz wiedzieć, które z nich faktycznie działają w Twojej infrastrukturze, tym zajmuje się Secvalis : skanuje Twoje maszyny i zgłasza wyłącznie to, co ich dotyczy.
W jądrze Linux w sterowniku mtk_eth_soc gdy register_netdev() zawiedzie dla jednego z urządzeń MTK_MAX_DEVS w mtk_probe(), ścieżka błędu pomijała mtk_unreg_dev(). Wcześniej zarejestrowane net_devices były zwalniane przez mtk_free_dev() pozostając w stanie NETREG_REGISTERED, co wywoływało BUG_ON.
W jądrze Linux naprawiono błąd w podsystemie ethtool, gdzie test offline (ETHTOOL_TEST) mógł zamykać i otwierać interfejs sieciowy bez wymaganego rtnl_lock. Dotyczyło to sterowników fbnic i bnxt, które używają tylko blokady instancji netdev. Brak rtnl_lock podczas tych operacji prowadził do ostrzeżeń lockdep i naruszenia ASSERT_RTNL().
W jądrze Linux w sterowniku fbnic ścieżka alokacji dla kanałów standalone wykluczała FBNIC_MAX_TXQS z układu, używając jednego wektora NAPI na kolejkę Tx i Rx. Konfiguracja 64-Tx/64-Rx rejestrowała 128 wektorów, ale alokowała tylko 64, pozostawiając wpisy NULL, które były dereferencjonowane podczas konfiguracji zasobów.
W jądrze Linux naprawiono błąd w sterowniku fbnic (eth: fbnic), który dotyczył wyboru wektora NAPI dla kolejki odbiorczej (Rx). Kod używał indeksu modulo liczby wektorów NAPI, co dawało nieprawidłowe przypisanie, gdy istniały samodzielne wektory nadawcze (Tx). Poprawka wykorzystuje wskaźnik NAPI przechowywany w netdev_rx_queue.napi, ustawiany przez fbnic_set_netif_napi() i czyszczony przez fbnic_reset_netif_napi(), co eliminuje potrzebę dzielenia modulo i zapewnia spójność w sytuacjach, gdy datapath jest wyłączony.
W jądrze Linux w sterowniku fbnic (eth: fbnic) licznik num_napi nie był zerowany przy zwalnianiu wektorów NAPI. W wyniku tego, gdy ścieżka zarządzania energią (PM) lub odzyskiwanie po błędzie PCIe nie odbuduje datapath, num_napi pozostaje dodatnie mimo zwolnionych wektorów, co prowadzi do użycia zwolnionej pamięci i dereferencji NULL w fbnic_dbg_down().
W jądrze Linux w sterowniku eth: fbnic podczas niszczenia pierścienia Rx skrzynki pocztowej firmware'u funkcja fbnic_mbx_reset_desc_ring() ustawiała tylko bit AW_FLUSH, bez AW_FLUSH_MODE, przez co oczekujące zapisy nie były opróżniane z potoku PUL i flush nigdy się nie kończył. Dodano definicję FLUSH_MODE i ustawianie obu bitów, aby zapisy same się opróżniły, przy zachowaniu wyczyszczonego BME.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

