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 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).
W jądrze Linux urządzenia tuneli IP wyliczają reklamowany needed_headroom z niższych urządzeń wyjściowych. Stos urządzeń tworzonych przez użytkownika może sprawić, że wartość przekroczy zakres 16-bitowych przesunięć nagłówka skb, co przy rezerwacji w wyjściu IP powoduje zawinięcie tych przesunięć.
W jądrze Linux funkcja skb_tx_error() kończy zerocopy uarg i czyści SKBFL_ALL_ZEROCOPY, a skb_zcopy_downgrade_managed() czyści SKBFL_MANAGED_FRAG_REFS — oba w skb_shinfo() współdzielonym przez klony. Przy klonie Open vSwitch (OVS_ACTION_ATTR_RECIRC) prowadzi to do zdjęcia znacznika z pakietu wciąż przekazywanego i późniejszego odszyfrowania ESP w miejscu na fragmentach, których nie posiada się na wyłączność.
W jądrze Linux występuje podatność w obsłudze segmentowego routingu IPv6 (SRv6). Funkcja decap_and_validate() nie resetuje bloku kontrolnego IPv6 (IP6CB) po dekapulacji, przez co nieuprzywilejowany użytkownik może doprowadzić do odczytu poza buforem (slab-out-of-bounds) w ip6_protocol_deliver_rcu().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

