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 mmc mtk-sd podczas odłączania urządzenia (unbind) nie anulowano synchronicznie zaplanowanego zadania timeout żądania. Wywołanie zwrotne timeout może kontynuować użycie zwolnionego obiektu mmc_host, co KASAN zgłasza jako use-after-free w msdc_request_done() i msdc_recheck_sdio_irq(). Poprawka dodaje cancel_delayed_work_sync() po mmc_remove_host().
W jądrze Linux sterownik mmc sdhci-sprd włącza runtime PM w probe, ale ścieżka remove nie wykonuje odpowiadającego sprzątania runtime PM. Przy usuwaniu urządzenia może dojść do wyłączania zegarów zarządzanych przez runtime PM, które są już wyłączone, gdy urządzenie jest w stanie uśpienia. Poprawka wznawia urządzenie, wyłącza runtime PM i zwalnia referencję przed wyłączeniem zegarów.
W jądrze Linux w funkcji packet_rcv_spkt() brakuje sprawdzenia dev_has_header() przed wywołaniem skb_push() przy przywracaniu nagłówka warstwy łącza. Dla urządzeń bez widocznego nagłówka (np. CAN) skb->mac_header pozostaje na wartości 0xFFFF, co powoduje powstanie dużej ujemnej długości i wywołanie skb_under_panic() z kontekstu softirq, czyli pełny panic systemu. Luka jest osiągalna przez gniazdo SOCK_PACKET z uprawnieniem CAP_NET_RAW.
W jądrze Linux w funkcji smc_getname() występuje use-after-free (a w niektórych przypadkach NULL dereference) związany z brakiem synchronizacji przy dostępie do wskaźnika smc->clcsock. Zakończenie link-group może zwolnić gniazdo CLC przez smc_close_active_abort() w trakcie wywołania getsockname(), co prowadzi do odwołania do zwolnionej pamięci.
W jądrze Linux w podsystemie mostu sieciowego (net: bridge) funkcja br_multicast_sg_del_exclude_ports() usuwa grupy portów STAR_EXCL wywołując br_multicast_del_pg(), które dla wpisów S,G wywołuje rekurencyjnie tę samą funkcję. Duża liczba portów STAR_EXCL powoduje zużycie jednej ramki stosu jądra na port, co może doprowadzić do przepełnienia stosu (stack guard page).
W jądrze Linux funkcja skb_copy_and_csum_bits() przy napotkaniu nieczytelnych fragmentów zwraca 0 po skopiowaniu tylko części liniowej, pozostawiając resztę bufora wywołującego bez zmian. Ponieważ bufory (np. błędy ICMP lub bufory TX sterownika) nie są zerowane, do sieci mogą zostać wysłane nieoczekiwane dane z pamięci.
W jądrze Linux sterownik sparx5 w funkcji sparx5_tc_matchall_replace() alokuje strukturę sparx5_mall_entry dla każdego offloadowanego filtra matchall i dodaje ją do listy, ale sparx5_tc_matchall_destroy() usuwa wpis z listy bez zwalniania pamięci. Powoduje to wyciek pamięci przy każdym usuniętym filtrze mirror i goto matchall.
W jądrze Linux sterownik axienet (net: xilinx) w ścieżce dmaengine pre-submituje bufory RX i utrzymuje bufory TX, których SKB są mapowane DMA i zwalniane tylko w callbackach ukończenia. Przy ndo_stop() dmaengine_terminate_sync() przerywa deskryptory bez uruchamiania callbacków, przez co sterownik zwalnia tylko powłoki pierścienia, wyciekając SKB i mapowania DMA przy każdym ifdown.
W jądrze Linux podsystem team: niezerowy wynik dev_queue_xmit() nie zwraca własności skb. Gdy qdisc portu nadpisania odrzuca pakiet, helper nadpisania kolejki próbuje użyć zwolnionego skb na innym porcie lub w operacji transmisji trybu, co prowadzi do use-after-free.
W jądrze Linux podsystem team funkcja bc_transmit() wysyła oryginalny skb przez ostatni port zdolny do transmisji. Gdy żaden port nie może transmitować, zwraca false bez zużycia skb, ale team_xmit() nadal zwraca NETDEV_TX_OK, przez co wysyłki AF_PACKET zachowują skb i jego obciążenie pamięci zapisu gniazda.
W jądrze Linux naprawiono błąd w module openvswitch, który powodował soft lockup podczas zrzutu przepływów przez netlink. Funkcja ovs_flow_cmd_dump() wywoływała ovs_flow_stats_get() dla każdego przepływu, co wielokrotnie zwalniało blokadę przez spin_unlock_bh() i uruchamiało zaległe softirq w kontekście wątku zrzutu, uniemożliwiając jego wywłaszczenie.
W jądrze Linux optee_probe() wywoływał tee_device_register() dla urządzenia klienta i suplikanta, zanim reszta struktury optee została zainicjalizowana. Powodowało to, że urządzenie było dostępne z przestrzeni użytkownika i jądra, zanim mutexy, ukończenia i cache argumentów zostały zainicjalizowane, a optee->ctx było NULL, co prowadziło do użycia niezainicjalizowanych mutexów i dereferencji NULL.
W jądrze Linux sterownik pwrseq-pcie-m2.c wywołuje of_regulator_bulk_get_all(), która alokuje tablicę konsumentów i przekazuje ją wywołującemu, oczekując jej zwolnienia. Sterownik nigdy jej nie zwalniał, co prowadziło do wycieku pamięci.
W jądrze Linux regulator ltc3676: rejestry HRST (0x1e) i CLIRQ (0x1f) są tylko do zapisu (stroby komend). Odczyt HRST wyzwala twardy reset układu, a odczyt CLIRQ czyści przerwanie. Zwykły zrzut rejestrów przez regmap powoduje reset płyty.
W jądrze Linux funkcja of_regulator_bulk_get_all() zwraca tablicę, w której wpisywany jest tylko konsument, bez nazwy zasilania. Gdy taka tablica trafi do regulator_bulk_enable(), a zasilanie nie włączy się, funkcja odczytuje niezainicjalizowaną pamięć. Poprawka kopiuje nazwy do własnej alokacji tablicy i usuwa stały bufor 64 bajtów na stosie.
W jądrze Linux sterownik tps6594-regulator dla TPS65224 BUCK2-4 podaje 4 jako n_linear_ranges, podczas gdy tablica tps65224_bucks_2_3_4_ranges[] ma tylko dwa wpisy. Powoduje to odczyt poza tablicą przy wyszukiwaniu selektorów powyżej 0x45 podczas normalnej rejestracji. Poprawka używa ARRAY_SIZE(), aby liczba zawsze odpowiadała tabeli.
W jądrze Linux sterownik scsi: ch w ch_readconfig() pobiera referencję do scsi_device każdego elementu transferu danych i nigdy jej nie zwalnia. Po usunięciu napędu jego scsi_device nie może zostać zwolniony, blokując ponowne użycie adresu i uniemożliwiając wyładowanie modułu sterownika. Poprawka zwalnia referencję zaraz po wypisaniu nazwy i usuwa nieużywaną tablicę dt[].
W jądrze Linux na architekturze RISC-V, w funkcji handle_exception() przy włączonym CONFIG_SHADOW_CALL_STACK, decyzja o przeładowaniu wskaźnika shadow call stack (gp) opierała się na rejestrze tp, który jest kontrolowany przez użytkownika. Poprzez ustawienie tp na adres własnego task_struct użytkownik mógł wymusić pominięcie przeładowania gp, co prowadzi do dowolnego zapisu w pamięci jądra i przejęcia przepływu sterowania przez nieuprzywilejowanego użytkownika.
W jądrze Linux errata_probe_ghostwrite() oznacza CPU jako podatny tylko na wczesnym etapie rozruchu, który wymaga CONFIG_RISCV_ALTERNATIVE_EARLY. Ta opcja jest obecnie wybierana tylko przez ERRATA_THEAD_MAE, więc przy ERRATA_THEAD_GHOSTWRITE=y i ERRATA_THEAD_MAE=n stan podatności nigdy nie jest ustawiany, a mitygacja nie działa. Poprawka wybiera RISCV_ALTERNATIVE_EARLY z ERRATA_THEAD_GHOSTWRITE.
W jądrze Linux na RISC-V funkcje futex przekazują surowy wskaźnik użytkownika do operacji atomowych bez usunięcia tagu, mimo że access_ok() sprawdza adres po odtagowaniu. Przy włączonym ABI tagowanych adresów (CONFIG_RISCV_ISA_SUPM) proces nieuprzywilejowany może spowodować atomowy odczyt-modyfikację-zapis pod dowolnym adresem jądra przez FUTEX_WAKE_OP. Poprawka usuwa tag przed operacją atomową, tak jak robią to get_user()/put_user().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

