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.04)
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 wifi iwlwifi licznik pętli 'count' w iwl_fwrt_dump_error_logs był typu u8, podczas gdy num_pc jest typu u32. Jeśli firmware zgłosi więcej niż 255 wpisów PC, licznik się przekręca i pętla nigdy się nie kończy, co może powodować nieskończoną pętlę lub odczyt poza tablicą pc_data.
W jądrze Linux w sterowniku wifi iwlwifi mvm funkcja iwl_mvm_frob_txf_key_iter() miała błąd off-by-one w obliczaniu przesunięcia początku czyszczenia klucza. Powodowało to wyzerowanie jednego bajtu przed dopasowaniem i pozostawienie ostatniego bajtu klucza nieoczyszczonego.
W jądrze Linux w sterowniku wifi iwlwifi mei nie sprawdzano długości komunikatu SAP przed jego odczytem. Brak weryfikacji rozmiaru mógł prowadzić do przepełnienia bufora.
W jądrze Linux w sterowniku wifi iwlwifi funkcja iwl_dbg_tlv_alloc_fragments mogła doprowadzić do dzielenia przez zero, gdy num_frags wynosiło 0. Brak sprawdzenia rozmiaru i liczby fragmentów umożliwiał wystąpienie tej sytuacji.
W jądrze Linux w sterowniku host1x funkcje debugowania używały vsnprintf(), która zwraca długość, jaką miałby sformatowany ciąg przy nieograniczonym buforze. Ta wartość była przekazywana jako liczba bajtów do zapisu, co mogło prowadzić do odczytu poza końcem bufora, jeśli wygenerowany ciąg był dłuższy niż 256 bajtów. Problem dotyczył plików debugfs i był mało prawdopodobny w praktyce.
W jądrze Linux w sterowniku drm/msm/adreno funkcja a6xx_gpu_init() zawiera błąd use-after-free na ścieżce błędu. Funkcja a6xx_destroy() zwalnia pamięć 'a6xx_gpu', a następnie 'adreno_gpu' wskazuje na zwolnioną pamięć. Poprawka polega na zachowaniu kodu błędu przed zwolnieniem pamięci.
W jądrze Linux w sterowniku drm/msm funkcja recover_worker wycieka referencję do struktury task_struct. get_pid_task() zwiększa licznik referencji, ale brakuje odpowiadającego put_task_struct() w gałęzi else, co powoduje wyciek referencji przy każdym odzyskiwaniu po zawieszeniu GPU.
W jądrze Linux w sterowniku drm/msm funkcja msm_ringbuffer_new() niszczy częściowo zainicjalizowany ring przez msm_ringbuffer_destroy(), gdy alokacja lub konfiguracja schedulera zawiedzie. Jeśli drm_sched_init() zawiedzie przed pełną inicjalizacją, ścieżka błędu nadal wywołuje drm_sched_fini(), co zakłada zainicjalizowane elementy schedulera. Poprawka śledzi pomyślną inicjalizację i wywołuje drm_sched_fini() tylko po sukcesie drm_sched_init().
W jądrze Linux w sterowniku scsi: ufs: core istnieje możliwość zakleszczenia podczas odzyskiwania pamięci w kontekście TX EQTR. Funkcje ufshcd_tx_eqtr(), __ufshcd_tx_eqtr() i ufs_qcom_get_rx_fom() alokują pamięć z GFP_KERNEL, co może wywołać bezpośrednie odzyskiwanie, które zależy od I/O do urządzenia UFS, a kolejka jest wstrzymana, co prowadzi do zakleszczenia. Poprawka używa memalloc_noio_save/restore() w ufshcd_tx_eqtr(), aby pokryć wszystkie alokacje w drzewie wywołań.
W jądrze Linux w sterowniku usb: gadget: f_uac1_legacy makro UAC1_STR_ATTRIBUTE definiuje handlery show/store dla opcji string fn_play, fn_cap i fn_cntl. Funkcja store zawiera odwróconą kontrolę null na wartości zwracanej przez kstrndup(), co powoduje, że każda próba zapisu zwraca -ENOMEM przy sukcesie i dereferencję NULL przy błędzie alokacji. Atrybuty są zepsute i nieużywane od lat. Poprawka usuwa makro i trzy atrybuty.
W jądrze Linux w systemie plików UDF funkcja udf_symlink_filler() może wywołać udf_pc_to_char() z częściowym nagłówkiem pathComponent. Poprawka dodaje walidację, czy pozostało wystarczająco danych dla pełnego nagłówka, zanim zostanie on odczytany, odrzucając uszkodzone dane dowiązania symbolicznego, które mogłyby spowodować odczyt poza zakresem.
W jądrze Linux w sterowniku uio występuje problem z nieaktualnym wskaźnikiem info w ścieżce nieudanej rejestracji. Po device_add() urządzenie UIO jest widoczne dla użytkownika i można otworzyć /dev/uioX. Jeśli późniejszy krok zawiedzie, __uio_register_device() wycofuje urządzenie, ale pozostawia idev->info wskazujący na struct uio_info należący do wywołującego. To jest niebezpieczne, gdy otwarcie konkuruje z nieudaną rejestracją, prowadząc do użycia po zwolnieniu. Poprawka obsługuje błędy po device_add() jak przy wyrejestrowaniu: usuwa atrybuty UIO, czyści idev->info pod info_lock i budzi oczekujących przed usunięciem urządzenia.
W jądrze Linux w sterowniku speakup: keyhelp funkcja help_init() buduje tablicę letter_offsets[] używając pierwszego bajtu każdej nazwy funkcji jako indeksu przez `(start & 31) - 1`. Jeśli nazwy funkcji zostaną nadpisane z sysfs (przez root) nazwą zaczynającą się poza zakresem [a–z], indeks może być ujemny lub przekroczyć rozmiar tablicy, prowadząc do zapisu poza zakresem. Poprawka sprawdza pierwszą literę w help_init() i zwraca błąd, jeśli nie jest w zakresie [a–z].
W jądrze Linux w sterowniku misc: bcm-vk występuje problem z kolejnością operacji na msgq_inited. bcm_vk_sync_msgq() wypełnia informacje o kolejce wiadomości, a następnie ustawia msgq_inited. Czytelnicy wywołują bcm_vk_drv_access_ok() przed dostępem do kolejek. atomic_set()/atomic_read() nie porządkują tych dostępów, więc czytelnik może zobaczyć msgq_inited ustawione, ale nadal widzieć nieaktualne informacje o kolejce. Poprawka używa release przy publikowaniu zainicjalizowanych kolejek i acquire przy sprawdzaniu bramki.
W jądrze Linux w sterowniku ad525x_dpot pliki sysfs były tworzone ręcznie w funkcji probe, co powodowało problemy z cofaniem częściowo utworzonego stanu sysfs przy błędzie oraz z usuwaniem plików przy odłączaniu urządzenia. Podatność rozwiązano przenosząc atrybuty urządzenia do mechanizmu dev_groups w rdzeniu sterownika oraz dodając callback is_visible(), który udostępnia tylko atrybuty obsługiwane przez dane urządzenie.
W jądrze Linux w sterowniku ipack ipoctal występowały trzy błędy przy usuwaniu urządzenia podczas aktywnej sesji tty: use-after-free struktury ipoctal, dereferencja NULL w ipoctal_write_tty() oraz use-after-free w ipoctal_cleanup(). Poprawki wprowadzają zarządzanie czasem życia oparte na kref, sprawdzanie NULL dla xmit_buf oraz flagę "removed" sprawdzaną w operacjach tty.
W jądrze Linux w module mtdswap błąd konfiguracji debugfs po udanej rejestracji blktrans powodował podwójne zwolnienie struktury mbd_dev. Poprawka polega na wyczyszczeniu lokalnego wskaźnika po wyrejestrowaniu, aby wspólna ścieżka sprzątania nie zwalniała obiektu blktrans dwukrotnie.
W jądrze Linux funkcja mtd_add_partition() nie odrzucała specjalnej wartości offsetu MTDPART_OFS_RETAIN (-3), co prowadziło do ostrzeżenia WARN_ON w add_mtd_device() przy wywołaniu przez ioctl BLKPG na urządzeniach NAND. Wartość RETAIN zakłada, że cur_offset wskazuje koniec poprzedniej partycji, ale w ścieżce dynamicznego partycjonowania cur_offset równa się samemu argumentowi offset, powodując niezdefiniowane zachowanie.
W jądrze Linux w sterowniku drm/v3d lista buforów (BO) była przypisywana tylko do ostatniego zadania w łańcuchu, co przy końcowym zadaniu CACHE_CLEAN powodowało, że zadanie faktycznie konsumujące BO nie miało żadnych zależności niejawnych. Mogło to prowadzić do odczytu BO przez jedno kontekst, podczas gdy inny kontekst jeszcze go zapisywał, powodując uszkodzenie danych. Poprawka przypisuje BO do zadania, które je konsumuje, i dodaje flagę has_implicit_dep.
W jądrze Linux funkcja software_node_get_reference_args() nieprawidłowo sprawdzała zakres indeksu, gdy przekazano wartość UINT_MAX, co prowadziło do dostępu poza zakresem tablicy właściwości. Poprawka rozszerza sprawdzenie zakresu, aby obejmowało również przypadek UINT_MAX.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

