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 podsystemie BPF występuje błąd weryfikatora przy wypełnianiu stosu zwężającymi odczytami rozszerzającymi znak. Współdzielony identyfikator skalara nie jest usuwany, przez co dwa rejestry mogą dzielić ten sam identyfikator mimo różnych wartości, co pozwala weryfikatorowi wywnioskować nieprawidłowe ograniczenia i doprowadzić do dostępu poza granicami.
W jądrze Linux w sterowniku remoteproc qcom_q6v5_adsp występuje wyciek referencji do węzła urządzenia. Funkcja adsp_map_carveout wywołuje of_parse_phandle_with_args(), ale nie zwalnia referencji węzła przez of_node_put().
W jądrze Linux w podsystemie BPF występuje błąd walidacji argumentów kfunc rdonly_buf_size i rdwr_buf_size. Wartości przekraczające U32_MAX nie są odrzucane, lecz obcinane przy przypisaniu do pola mem_size typu u32, przez co weryfikator rejestruje nieprawidłowe ograniczenie rozmiaru pamięci.
W jądrze Linux w module platform/x86 asus-wireless funkcja asus_wireless_probe() zwraca sukces, gdy acpi_match_acpi_device() nie znajdzie dopasowania. Prowadzi to do pozostawienia urządzenia wejściowego bez zainstalowanego handlera powiadomień, a przy wymuszonym powiązaniu z urządzeniem bez towarzysza ACPI zapisuje wskaźnik NULL, co powoduje dereferencję NULL przy odłączaniu.
W jądrze Linux w sterowniku serial qcom-geni ścieżka ukończenia transmisji DMA przesuwała bufor FIFO o liczbę bajtów zapisaną w port->tx_remaining. Jeśli uart_flush_buffer() wykonał się po zakończeniu transferu DMA przez sprzęt, ale przed obsługą przerwania ukończenia, nieaktualne ukończenie DMA mogło przesunąć i odrzucić nowe dane zapisane po opróżnieniu bufora. Podatność naprawiono oznaczając trwający transfer DMA jako nieaktualny w momencie opróżnienia FIFO transmisji.
W jądrze Linux w module USB gadget (funkcja UAC1/UAC2) atrybuty configfs rate-list nie sprawdzały długości listy przed zapisem do tablic o stałym rozmiarze UAC_MAX_RATES (10 elementów). Podanie więcej niż dziesięciu wartości powodowało zapis poza granicami tablicy p_srates[] lub c_srates[], co prowadzi do uszkodzenia pamięci. Dodatkowo nieprawidłowe zwalnianie wskaźnika po strsep() powodowało wyciek pamięci lub zwolnienie wskaźnika wewnętrznego.
W jądrze Linux w funkcji ffs_dmabuf_transfer() sterownika USB gadget f_fs ścieżki błędów (ESHUTDOWN, ENOMEM) wywoływały dma_fence_put() na obiekcie fence, który został jedynie przydzielony przez kmalloc, bez wcześniejszego dma_fence_init(). Wywołanie dma_fence_put() na niezainicjalizowanym obiekcie prowadzi do niezdefiniowanego zachowania. Poprawka zastępuje to wywołanie funkcją kfree().
W jądrze Linux funkcja os_desc_qw_sign_show() sterownika USB gadget configfs przekazywała OS_STRING_QW_SIGN_LEN (14) jako długość wejściową do utf16s_to_utf8s(), mimo że argument ten liczy jednostki kodu UTF-16, a tablica qw_sign[] ma tylko 7 jednostek. Gdy sygnatura wypełnia tablicę bez terminatora NUL, konwersja odczytuje do 7 jednostek poza koniec tablicy, ujawniając sąsiednie bajty struktury gadget_info przez atrybut configfs.
W jądrze Linux funkcja ljca_enumerate_gpio() sterownika USB ljca odczytuje desc->bank_num z urządzenia i wykonuje pętlę zapisującą do tablicy valid_pin[], która ma tylko 2 wpisy. Istniejące sprawdzenia nie ograniczają bank_num względem rozmiaru valid_pin[], więc urządzenie zgłaszające bank_num 9 i pins_per_bank 7 przechodzi weryfikację i powoduje przepełnienie stosu. Złośliwe lub uszkodzone urządzenie LJCA może w ten sposób przepełnić stos.
W jądrze Linux funkcja ast_udc_probe() sterownika USB gadget aspeed_udc przydziela spójny bufor DMA używany jako magazyn buforów endpointów, a ast_udc_init_ep() wywodzi wskaźniki z udc->ep0_buf. Nieudana alokacja jest dereferencjonowana podczas probe, a istniejąca ścieżka błędu wywołuje ast_udc_remove(), co jest niebezpieczne przed udanym usb_add_gadget_udc(). Poprawka dodaje sprawdzenie alokacji i lokalny pomocnik czyszczenia.
W jądrze Linux dynamiczne identyfikatory USB są ważne tylko przy trzymanym usb_dynids_lock, ponieważ remove_id_store może zwolnić węzeł. Funkcja usb_probe_interface korzystała z tych identyfikatorów bez kopii, co prowadzi do use-after-free, gdy probe przebiega równolegle z usuwaniem dynamicznego ID. Poprawka tworzy kopię identyfikatora w usb_probe_interface.
W jądrze Linux w funkcji asus_wmi_add() sterownika platform/x86 asus-wmi etykiety ścieżek błędów są w niewłaściwej kolejności względem sekwencji rejestracji podsystemów. W efekcie niepowodzenie asus_wmi_custom_fan_curve_init() lub asus_screenpad_init() pomija wywołania czyszczące dla wcześniej zarejestrowanych zasobów, powodując ich wyciek. Poprawka zmienia kolejność etykiet na odwrotną względem alokacji.
W jądrze Linux funkcja mlxbf_pmc_probe() sterownika platform/mellanox mlxbf-pmc przekazuje wynik ACPI_COMPANION() do acpi_device_hid(), która go dereferencjonuje. Ponieważ sterownik platformowy może zostać wymuszony do dopasowania urządzenia bez obiektu towarzyszącego ACPI, prowadzi to do dereferencji wskaźnika NULL. Poprawka dodaje sprawdzenie ACPI_COMPANION() względem NULL i zwraca -ENODEV.
W jądrze Linux funkcja san_probe() sterownika platform/surface acpi-notify dereferencjonuje wynik ACPI_COMPANION() podczas instalacji handlera przestrzeni adresowej GSBUS. Ponieważ sterownik platformowy może zostać wymuszony do dopasowania urządzenia bez towarzysza ACPI, prowadzi to do dereferencji wskaźnika NULL. Poprawka sprawdza ACPI_COMPANION() względem NULL i zwraca -ENODEV.
W jądrze Linux rozwiązano problem w sterowniku clk: qcom: camcc-sc8280xp, gdzie nie wyrejestrowywano zegara CAMCC_GDSC_CLK. Po wprowadzeniu obsługi sync_state w podsystemach clk i pmdomain, przy wyłączaniu nieużywanych zegarów pojawiało się ostrzeżenie jądra o zablokowanym stanie 'on' dla titan_top_gdsc.
W jądrze Linux funkcja bpf_cpumask_populate() zapisuje do celu za pomocą bitmap_copy(), ale cel jest typowany jako struct cpumask *. Pozwala to weryfikatorowi BPF zaakceptować wskaźniki cpumask zwracane przez read-only kfuncs (np. scx_bpf_get_online_cpumask()) jako zapisywalny cel. Poprawka zmienia typ celu na struct bpf_cpumask *, aby funkcja przestrzegała reguł własności jak inne mutujące kfuncs.
W jądrze Linux link tracing_multi nie ustawia flagi ftrace_managed, co powoduje że nie udaje się zwolnić linku tracing_multi przy dołączaniu linku tracing_multi, a następnie linku fentry. Prowadzi to do ostrzeżenia w bpf_trampoline_multi_detach i potencjalnego wycieku zasobów. Poprawka ustawia 'ftrace_managed = true' w register_fentry_multi().
W jądrze Linux funkcja put_gid_ndev() jest kolejkowana przez call_rcu() i zaimplementowana w ib_core. Zatrzymanie workqueues nie opróżnia już zakolejkowanych callbacków, więc RCU może wywołać ją po wyładowaniu kodu modułu. synchronize_rcu() nie czeka na callbacki — poprawka czeka na nie po zatrzymaniu wszystkich producentów.
W jądrze Linux funkcja devx_free_subscription() może pozostać w kolejce po zwolnieniu ostatniego odwołania do modułu przez plik zdarzeń DevX lub odłączeniu urządzeń przez sterownik pomocniczy. Moduł mlx5_ib może zostać wyładowany przed wykonaniem callbacku. Ścieżka błędów rejestracji sterownika ma to samo ryzyko — poprawka czeka po zatrzymaniu wszystkich sterowników.
W jądrze Linux ukończenia odzyskiwania IPoIB mogą być sygnalizowane z wnętrza callbacku RCU. Proces teardown może obudzić się przed powrotem callbacku i wyładować ib_ipoib, gdy jego kod jest wciąż wykonywany. Awaria rejestracji klienta może również usuwać już dodane urządzenia i kolejkować callbacki — poprawka czeka po zakończeniu teardown klienta i workqueue.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

