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 sterownik bnxt w ścieżce SW USO może wcześnie zakończyć działanie z NETDEV_TX_BUSY, mimo że txr->kick_pending zostało wcześniej ustawione na 1. W takiej sytuacji sterownik zapisuje część deskryptorów BD, ale nie zapisuje doorbella, co powoduje zatrzymanie kolejki TX, ponieważ urządzenie nie wie, że ma wykonać transmisję i wygenerować ukończenie wybudzające kolejkę.
W jądrze Linux naprawiono błąd w sterowniku IPA (net: ipa), który powodował trwałe zatrzymanie kolejki TX modemu po wznowieniu działania (runtime resume). Funkcja ipa_start_xmit() bezwarunkowo zatrzymywała kolejkę TX przed wywołaniem pm_runtime_get(), licząc na wznowienie kolejki przez mechanizm wake. Jednak zadanie wake było uruchamiane zbyt wcześnie — zanim stan zasilania osiągnął RPM_ACTIVE — przez co wznowienie kolejki nie następowało, a transmisja zawieszała się na stałe.
W jądrze Linux handlery netlink L2TP dla tworzenia i modyfikacji tunelu oraz sesji wysyłają powiadomienia multicast po zakończeniu właściwej operacji. Błąd alokacji, kodowania lub multicastu powiadomienia jest zwracany jako wynik komendy, mimo że operacja już się powiodła, co może powodować ponawianie przez wywołujących i gromadzenie aktywnych obiektów.
W jądrze Linux funkcja mctp_route_lookup() używa rt->dev bez utrzymywania referencji, a mctp_route_lookup_single() zwraca trasę tylko pod ochroną RCU. Urządzenie trasy może zostać równolegle zniszczone, co prowadzi do use-after-free w mctp_dev_saddr() przy odczycie rt->dev->addrs[0], osiągalnego przez nieuprzywilejowanego lokalnego użytkownika AF_MCTP bez CAP_NET_RAW. W tym samym oknie mctp_dev_hold() zwiększa refcount, który już osiągnął zero.
W jądrze Linux w module openvswitch występuje podatność use-after-free związana ze wskaźnikiem flow->mask podczas usuwania przepływu (CMD_DEL). Wskaźnik maski jest zwalniany przez RCU, ale funkcja ovs_flow_cmd_fill_info() używa go po usunięciu przepływu z tabeli, bez wcześniejszego pobrania blokady RCU. Prowadzi to do wyścigu i potencjalnego błędu jądra (KASAN slab-use-after-free) w oknie między usunięciem a wypełnieniem informacji.
W jądrze Linux funkcja phylink_inband_caps() sprawdza PCS zwrócony przez mac_select_pcs tylko pod kątem NULL, podczas gdy mac_select_pcs może zwrócić również wskaźnik błędu. Powoduje to, że phylink_pcs_inband_caps() dereferencjonuje ops ze struktury phylink_pcs mimo błędu, co prowadzi do paniki jądra.
W jądrze Linux sterownik ravb może dereferencjonować nieprawidłowy zegar PTP, ponieważ zegar PTP jest niedostępny przed pierwszym otwarciem, a błędy rejestracji mogą pozostawić wskaźnik błędu w priv->ptp.clock. Odczyt indeksu zegara może wtedy spowodować dereferencję NULL lub wskaźnika błędu.
W jądrze Linux w sterowniku sieciowym ravb (Renesas Ethernet AVB) procedura obsługi przerwania PTP ravb_ptp_interrupt() może wyścignąć się z funkcją ravb_ptp_stop(), przekazując wskaźnik zegara do ptp_clock_event() w momencie, gdy ptp_clock_unregister() zwalnia ten zegar. Prowadzi to do użycia po zwolnieniu pamięci (use-after-free). Poprawka wprowadza bezpieczny dostęp do wskaźnika zegara oraz atomowe odłączenie go przed wyłączeniem przerwań PTP i synchronizację przerwań.
W jądrze Linux w sterowniku Thunderbolt funkcja tb_xdomain_alloc_in_hopid() przekazuje żądany identyfikator HopID jako dolne ograniczenie do ida_alloc_range(), więc zajęty identyfikator nie jest błędem — alokator zwraca następny wolny. tbnet_connected_work() traktuje każdy inny identyfikator jako błąd i zwraca bez zwolnienia przydzielonego zasobu, przez co alokacja pozostaje aktywna przez cały czas trwania połączenia XDomain. Poprawka zwalnia identyfikator, gdy nie jest tym, o który proszono.
W jądrze Linux w sterowniku Thunderbolt każda ścieżka błędu w tbnet_connected_work() cofa własne operacje i zwraca bez wyczyszczenia flagi login_sent, przez co połączenie nadal wygląda na ustanowione. Kolejne tbnet_tear_down() wykonuje ponownie demontaż, który już się odbył — zatrzymuje już zatrzymane pierścienie (dev_WARN(), fatalne przy panic_on_warn) i zwalnia net->remote_transmit_path nawet na ścieżce niezgodności HopID, gdzie połączenie nigdy nie posiadało tego identyfikatora. Poprawka czyści login_sent na tych ścieżkach.
W jądrze Linux w module NTB ntb_transport funkcja ntb_transport_tx_enqueue() miała odrzucać pakiety wysyłane przy niedziałającym łączu QP, ale zwracała 0 bez zużycia pakietu. Zero oznacza sukces, więc ntb_netdev zgłasza NETDEV_TX_OK i zapomina skb — nic go nie zakolejkowało ani nie zwolniło, co powoduje wyciek jednego skb na każdą transmisję wyścigującą się z awarią łącza. Poprawka zwraca -ENOLINK, przywracając kontrakt, że niezerowy wynik pozostawia bufor właścicielowi.
W jądrze Linux w module NTB ntb_transport funkcja ntb_process_tx() obsługuje zbyt duży bufor, wywołując tx_handler() z pustym wskaźnikiem danych i zwracając sukces. ntb_netdev nie zwalnia wtedy skb w swoim callbacku ukończenia ani nie wchodzi na ścieżkę błędu kolejkowania, co powoduje wyciek. Poprawka odrzuca zbyt duże bufory w ntb_transport_tx_enqueue() przed zajęciem wpisu kolejki i zwraca -EMSGSIZE.
W jądrze Linux występuje błąd w module net/smc, gdzie liczba kluczy rkey partnera w komunikatach SMC-Rv2 LLC nie jest ograniczana. Na łączach z urządzeniem o max_recv_sge == 1 funkcja smc_llc_save_add_link_rkeys() odczytuje rozszerzenie v2 poza zaalokowanym buforem, co prowadzi do odczytu poza granicami (slab-out-of-bounds). Błąd występuje przy każdym dodaniu łącza SMC-Rv2, niezależnie od danych wysłanych przez partnera.
W jądrze Linux w module net/smc funkcje smc_llc_rmt_delete_rkey() i smc_llc_save_add_link_rkeys() czytają część komunikatu v2, która nie mieści się w 44-bajtowej unii smc_llc_msg, ograniczając się rozmiarem bufora, a nie rozmiarem tego, co faktycznie przyszło. Na łączu ze współdzielonym buforem odbioru v2 44-bajtowy DELETE_RKEY_V2 deklarujący 255 kluczy rkey sięga do rkey[9..254] w danych pozostawionych przez wcześniejszy komunikat i przekazuje je do smc_rtoken_delete(), co może usunąć zarejestrowany rtoken. Poprawka kopiuje ogon komunikatu do wpisu kolejki i deklaruje klucze inline jako element unii.
W jądrze Linux w module net/smc funkcja smc_close_stream_wait() wywołuje smc_tx_prepared_sends() wewnątrz warunku sk_wait_event(), który jest oceniany raz z zwolnioną blokadą gniazda. smcd_buf_detach() czyści conn->sndbuf_desc z smc_conn_kill() pod lock_sock(), więc grupa łącząca kończąca się w trakcie oczekiwania pozostawia pomocnika dereferencjonującego NULL, powodując błąd w close(). Poprawka próbkuje wskaźnik raz w pomocniku i zgłasza brak przygotowanych danych, gdy jest nieustawiony.
W jądrze Linux w module net/smc funkcja smc_switch_conns() pobiera referencję na gniazdo SMC przed zwolnieniem lgr->conns_lock, aby połączenie pozostało aktywne podczas pobierania slotu CDC. Etykieta err_out zwalnia tylko referencję łącza wr_tx, więc to wczesne wyjście zwraca bez pasującego sock_put(). Wyciek sk_refcnt oznacza, że smc_sock nigdy nie zostaje zniszczony, a referencja do przestrzeni nazw sieci nie jest zwalniana, co uniemożliwia demontaż netns. Poprawka restrukturyzuje kod tak, aby jedno sock_put() obejmowało oba wyniki.
W jądrze Linux w module net/smc funkcja smc_rx_splice() przekazuje strony RMB do potoku i pobiera referencję gniazda na wpis, aby smc_sock pozostał aktywny do zakończenia odczytu. Jednak połączenie nie — równoległe zamknięcie uruchamia smc_conn_free(), które zwalnia bufor odbioru z powrotem do puli grupy łączącej. smc_rx_pipe_buf_release() sprawdza sk_state przed pobraniem blokady gniazda; stan może się zmienić między testem a blokadą, a smc_rx_update_cons() dereferencjonuje conn->rmb_desc i przechodzi przez conn->lgr, które zostały już zwolnione — jest to użycie po zwolnieniu pamięci. Poprawka pobiera najpierw blokadę gniazda i sprawdza conn->freed.
W jądrze Linux w funkcji smc_llc_srv_add_link() (podsystem net/smc) występuje błąd use-after-free. Wskaźnik add_llc wskazuje na wpis kolejki, który zostaje zwolniony przez smc_llc_flow_qentry_del(), a następnie jest używany w smc_llc_save_add_link_rkeys() na łączu bez współdzielonego bufora odbioru v2. Problem został naprawiony.
W jądrze Linux w podsystemie net/smc trzy flagi stanu połączenia (killed, freed, out_of_sync) są polami bitowymi zajmującymi wspólny bajt struktury smc_connection. Ponieważ nie są zapisywane pod wspólnym zamkiem, zapis jednej flagi modyfikuje sąsiednie bity, co prowadzi do wyścigu i błędnego stanu połączenia.
W jądrze Linux w podsystemie net/smc funkcja smc_conn_free() wyrejestrowuje połączenie tylko wtedy, gdy grupa łączy wciąż znajduje się na liście urządzenia, i nigdy nie ustawia conn->killed. W oknie między odłączeniem grupy a zabiciem jej połączeń urządzenie może ponownie uzbroić tasklet odbiorczy po tasklet_kill(), co prowadzi do użycia zwolnionego bufora (use-after-free).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

