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 moduł dm-pcache w funkcji cache_replay(), wątku zapisu zwrotnego i wątku GC ogranicza długość odczytu tail-kset przez PCACHE_SEG_SIZE - seg_off, czyli surowy rozmiar segmentu, a nie region danych. Odczyt tail blisko końca segmentu wykracza poza dane segmentu do następującego obszaru kontrolnego. Poprawka ogranicza odczyt do cache_seg_remain(), czyli regionu danych.
W jądrze Linux moduł dm-pcache w funkcji cache_replay() podąża za łańcuchem last-kset z metadanych przez next_cache_seg_id bez wywołania cond_resched(). Spreparowany łańcuch wskazujący z powrotem na już odwiedzony segment powoduje nieskończoną pętlę odtwarzania. Poprawka ogranicza liczbę przeskoków last-kset do cache->n_segs, ponieważ prawidłowy łańcuch odwiedza każdy segment co najwyżej raz.
W jądrze Linux moduł dm-pcache w funkcji get_cache_segment() skanuje mapę segmentów do cache->n_segs (fizyczna liczba segmentów urządzenia), ale cache_segs_init() inicjalizuje tylko pierwsze cache_info->n_segs segmentów. Spreparowany obraz z mniejszym cache_info->n_segs pozostawia pozostałe struktury pcache_cache_segment wyzerowane (segment.data == NULL), a alokator może przekazać taki segment do cache_kset_close(), która zapisuje przez wskaźnik data bez sprawdzenia NULL. Poprawka ogranicza wyszukiwanie alokatora do cache_info->n_segs.
W jądrze Linux w funkcji kset_replay() modułu dm-pcache występuje błąd use-after-free oraz nieprawidłowe operacje na segmentach. Gdy klucz ma nieaktualny seg_gen, pamięć klucza jest zwalniana, a następnie odwołuje się do niej wywołanie cache_seg_get(). Dodatkowo dla wygasłych nieprawidłowych kluczy niepotrzebnie ustawiany jest bit w seg_map i wywoływane cache_seg_get().
W jądrze Linux funkcja i3c_device_get_supported_xfer_mode() odwołuje się do dev->desc bez trzymania blokady bus->lock, co jest niedozwolone. Funkcja potrzebuje jedynie kontrolera nadrzędnego powiązanego z magistralą urządzenia, więc należy użyć dev->bus, które jest zawsze ważne przez cały czas życia urządzenia.
W jądrze Linux sterownik adi_i3c_master_probe() żąda przerwania i odmaskowuje REG_IRQ_PENDING_CMDR przed zainicjalizowaniem stanu IBI, listy kolejki transferów i blokady kolejki transferów. Oczekujące przerwanie CMDR może wywołać adi_i3c_master_irq() i użyć niezainicjalizowanej blokady, co wykrył Lockdep.
W jądrze Linux funkcja i3c_master_unregister_i3c_devs() czyści i3cdev->dev->desc przed wywołaniem device_unregister(). Podczas wyrejestrowania i3c_device_uevent() oraz wyścigowy modalias_show() mogą zobaczyć NULL desc i użyć niezainicjalizowanej struktury na stosie, ujawniając zawartość stosu jądra. Może też wystąpić use-after-free przy zapisie desc po zwolnieniu urządzenia.
W jądrze Linux funkcja svc_i3c_master_handle_ibi() odczytuje ładunek IBI z RX FIFO do slotu, ograniczając pętlę rozmiarem FIFO (SVC_I3C_FIFO_SIZE), a nie rozmiarem slotu. Sterownik może zażądać mniejszego max_payload_len (np. mctp-i3c żąda 1), więc urządzenie wysyłające więcej bajtów powoduje zapis poza slot->data, czyli out-of-bounds write do puli IBI.
W jądrze Linux sterownik Renesas I3C używa modelu asynchronicznego: przygotowuje strukturę renesas_i3c_xfer, kolejkuje ją i czeka na zakończenie. Jeśli wystąpi przekroczenie czasu, wątek oczekujący usuwa transfer z kolejki i zwalnia go; późniejsze przerwanie może odwołać się do zwolnionej pamięci, powodując awarię.
W jądrze Linux funkcja brcmf_sdio_read_control() nie zwalnia pamięci przydzielonej dla buf w niektórych ścieżkach błędów. Poprawka polega na dodaniu wywołań vfree() w tych ścieżkach.
W jądrze Linux funkcja iwl_op_mode_dvm_start() w sterowniku iwlwifi dvm: skok do out_free_eeprom pomija etykietę out_free_eeprom_blob. W efekcie ścieżki błędów po pomyślnym sparsowaniu EEPROM zwalniają priv->nvm_data, ale wycieka priv->eeprom_blob. Poprawka zmienia kolejność etykiet obsługi błędów.
W jądrze Linux w sterowniku wifi rtl8xxxu występuje błąd use-after-free związany z kolejką roboczą rx_urb_wq. Funkcja rtl8xxxu_stop() nie anuluje rx_urb_wq, więc worker może wykonać się po zwolnieniu struktury priv przez rtl8xxxu_disconnect(), co prowadzi do użycia zwolnionej pamięci. Problem występuje przy aktywnym ruchu RX i następującym po nim rozłączeniu urządzenia.
W jądrze Linux transport fuse-io-uring kopiuje req->in.h i req->out.h bezpośrednio do/z przestrzeni użytkownika w fuse_uring_copy_to_ring() i fuse_uring_commit(). Nagłówki znajdują się w obiekcie slab fuse_request, którego cache nie ma białej listy usercopy, co narusza CONFIG_HARDENED_USERCOPY i powoduje panikę jądra.
W jądrze Linux w sterowniku kryptograficznym iaa występuje błąd podczas dekompresji sprzętowej. Gdy wystąpi błąd analityki sprzętowej, ścieżka dekompresji przechodzi do fallbacku programowego, który zapisuje do req->dst, podczas gdy bufor jest nadal zmapowany jako DMA_FROM_DEVICE. Przy aktywnym SWIOTLB późniejsze dma_unmap_sg() kopiuje nieaktualny bufor pośredniczący nad req->dst, uszkadzając wynik.
W jądrze Linux w sterowniku wifi mwifiex występuje podatność polegająca na tym, że przy przerwanym oczekiwaniu na synchroniczne polecenie bufor danych przekazany przez wywołującego (często na stosie) nie jest odłączany od wciąż aktywnego polecenia firmware. Późna odpowiedź firmware może wtedy zapisać dane pod nieaktualnym adresem stosu, powodując uszkodzenie stosu jądra i panikę systemu.
W jądrze Linux w sterowniku wifi rtlwifi (rtl8192du) funkcja rtl92du_tx_fill_desc() używa wartości QoS TID z nagłówka 802.11 jako indeksu tablicy sta_entry->tids[]. Ponieważ ieee80211_get_tid() zwraca wartość 0..15, a tablica ma tylko MAX_TID_COUNT (9) elementów, TID większy niż 8 powoduje dostęp poza zakresem tablicy stanu agregacji.
W jądrze Linux w sterowniku wifi rtlwifi (rtl8192du) funkcja rtl92du_init_sw_vars() nie zwalnia pamięci przydzielonej w rtl92du_init_shared_data() w żadnej ze ścieżek błędów występujących po tym przydziale. Prowadzi to do wycieku pamięci.
W jądrze Linux w sterowniku wifi rtw88 funkcja rtw_txq_push_skb() nie zwalnia skb przed powrotem w ścieżce błędu, mimo że funkcja rtw_hci_tx_write() oczekuje zwolnienia skb w przypadku niepowodzenia. Prowadzi to do wycieku pamięci w rtw_txq_push().
W jądrze Linux w sterowniku wifi rtw88 (PCI) funkcja rtw_pci_probe() przydziela zasoby PCI przez rtw_pci_setup_resource() przed konfiguracją NAPI. Jeśli rtw_pci_napi_init() zawiedzie, ścieżka błędu pomija rtw_pci_destroy(), pozostawiając przydzielone zasoby PCI.
W jądrze Linux w sterowniku WiFi rtw89 (część PCI) brakowało callbacku .shutdown, który zatrzymywałby odpytywanie rfkill podczas restartu systemu. W wyniku tego na platformach arm64 dochodziło do paniki jądra z powodu asynchronicznego przerwania SError, gdy sterownik wykonywał odczyt MMIO po zniszczeniu łącza PCIe. Dodano funkcję rtw89_pci_shutdown() ustawiającą flagę RTW89_FLAG_SHUTDOWN, która powoduje wczesne zakończenie rtw89_ops_rfkill_poll().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

