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 naprawiono podatność w funkcji gss_unwrap_resp_priv() w module SUNRPC. Błędna walidacja długości tokenu RPCSEC_GSS (opaque_len) pozwalała na przepełnienie arytmetyki u32 oraz brak dolnego limitu długości, co umożliwiało odczyty poza zakresem bufora w gss_krb5_unwrap_v2().
W jądrze Linux występuje wyścig (race condition) w module sunrpc. Wpis /proc/net/rpc/use-gss-proxy jest publikowany przez proc_create_data() zanim mutex sn->gssp_lock zostanie zainicjalizowany przez mutex_init(), co pozwala zapisującemu procesowi użyć niezainicjalizowanego muteksa.
W jądrze Linux w funkcji gssx_dec_option_array() podsystemu SUNRPC nie odrzucane są zduplikowane opcje CREDS_VALUE. Każde wystąpienie CREDS_VALUE powoduje wywołanie gssx_dec_linux_creds(), które nadpisuje creds->cr_group_info bez zwolnienia poprzedniej alokacji, prowadząc do wycieku pamięci. Wystarczy odpowiedź zawierająca dwie opcje CREDS_VALUE, aby wyciekła pierwsza alokacja group_info.
W jądrze Linux naprawiono podatność w funkcji gss_krb5_unwrap_v2() w module SUNRPC. Token Kerberos v2 z polem 'extra count' (ec) większym niż długość tekstu jawnego, mimo że pochodzi od uwierzytelnionego peera z ważnym kontekstem GSS, pozostawiał bufor xdr_buf w niespójnym stanie (zerowa długość, niezgodne długości iov). Poprawka odrzuca takie tokeny przed wywołaniem xdr_buf_trim(), zwracając błąd GSS_S_DEFECTIVE_TOKEN.
W jądrze Linux występuje luka w funkcji gss_krb5_verify_mic_v2() z modułu SUNRPC, która nie sprawdza minimalnej długości tokenu MIC przed odczytem danych. Zdalny atakujący (np. złośliwy serwer NFS) może przesłać zbyt krótki token, powodując odczyt poza zaalokowanym buforem. Problem został naprawiony poprzez dodanie sprawdzenia długości tokenu.
W jądrze Linux w funkcji xs_tls_handshake_sync() podsystemu SUNRPC występuje problem use-after-free związany z wyścigiem przy anulowaniu uzgadniania TLS. Gdy handshake_req_cancel() zwróci false (bo handshake_complete() już oznaczył żądanie jako zakończone), oczekujący może zwolnić referencję do niższego transportu, zanim callback xs_tls_handshake_done() zakończy działanie. Może to doprowadzić do zwolnienia transportu w trakcie jego użycia.
W jądrze Linux w funkcji svc_rdma_free() podsystemu svcrdma występuje use-after-free wynikający z kolejności operacji. Funkcja rpcrdma_rn_unregister() jest wywoływana po rdma_destroy_id(), przez co wpis sc_rn pozostaje w rd_xa urządzenia po zwolnieniu cm_id. Równoległe przejście ib_unregister_device może wywołać svc_rdma_xprt_done() na zwolnionym sc_cm_id. Dodatkowo brak sprawdzenia NULL przy dereferencji sc_cm_id.
W jądrze Linux w module svcrdma, gdy obsługa zdarzenia ADDR_CHANGE tworzy zastępczy identyfikator połączenia (cm_id) i alokacja się nie powiedzie, wskaźnik sc_cm_id nadal wskazuje na stary cm_id, który rdzeń CM ma zniszczyć. Późniejsze użycie sc_cm_id, np. w wywołaniu rdma_disconnect() z svc_rdma_detach(), prowadzi do use-after-free.
W jądrze Linux naprawiono błąd w funkcji svc_rdma_read_chunk_range() w module svcrdma, dotyczący arytmetyki przesunięć przy budowaniu zakresu odczytu chunków RDMA. Błędne użycie operatora '>' zamiast '>=' oraz niewłaściwe zastosowanie min_t() powodowało niedomiar typu u32, zawyżone długości DMA i potencjalnie duże alokacje pamięci (multi-MiB kmalloc_array_node). Dodatkowo funkcja odrzucała poprawne żądania z zerową długością.
W jądrze Linux występuje podatność w komponencie svcrdma związana z makrem pcl_for_each_segment. Gdy lista segmentów zawiera chunk z ch_segcount równym zero, obliczenie górnej granicy powoduje niedomiar (underflow) i wyjście poza zakres tablicy ch_segments, co prowadzi do odczytu poza granicami pamięci i błędu general protection fault. Problem jest osiągalny z sieci poprzez chunk Write lub Reply z zerową liczbą segmentów, gdy transport negocjuje Send-With-Invalidate.
W jądrze Linux w module svcrdma funkcja handle_connect_req() nie podejmuje żadnych działań, gdy svc_rdma_create_xprt() nie zdoła zaalokować nowego transportu. Ponieważ rdzeń CM zwraca 0 dla zdarzeń CONNECT_REQUEST, nowy rdma_cm_id nie jest niszczony, co przy presji pamięci powoduje wyciek jednego rdma_cm_id na każdą nieudaną alokację.
W jądrze Linux występuje podatność w module svcrdma (RPC-over-RDMA). Klient może zażądać odpowiedzi bez listy zapisu lub fragmentu odpowiedzi, co powoduje, że funkcja linearyzująca kopiuje dane poza bufor sc_xprt_buf i uszkadza sąsiednią pamięć slab. Nadmiarowa długość jest następnie zapisywana w sc_sges[0].length i wysyłana do urządzenia, które odczytuje dane poza zmapowanym obszarem.
W jądrze Linux w module svcrdma dekoder listy Read RPC/RDMA przechowuje długości segmentów podane w komunikacie bez walidacji. Zbyt duża wartość rs_length trafia do svc_rdma_build_read_segment(), gdzie na jej podstawie wyliczany jest nr_bvec i może dojść do dużej dynamicznej alokacji bvec przed sprawdzeniem liczby dostępnych rq_pages; jeśli zabezpieczenie przed przekroczeniem stron zadziała, świeżo pozyskany kontekst rw nie jest zwracany, co powoduje wyciek zasobu.
W jądrze Linux w module svcrdma pojedyncze długości segmentów Read są walidowane podczas dekodowania, ale nic nie powstrzymuje klienta przed wysłaniem wielu segmentów, których łączna długość przekracza budżet tablicy rq_pages. Gdy jeden segment dokładnie wypełnia tablicę stron, zabezpieczenie w svc_rdma_build_read_segment() jest pomijane, ponieważ len osiąga zero, a kolejny segment sięga do slotu sentinela NULL w rq_pages[rq_maxpages], powodując dereferencję NULL podczas mapowania DMA.
W jądrze Linux w module svcrdma funkcja svc_rdma_create() wywołuje kfree(cma_xprt), gdy svc_rdma_create_listen_id() zawiedzie. Ponieważ svc_xprt_init() wcześniej pozyskało referencję do przestrzeni nazw sieci przez get_net_track(), kfree omija svc_xprt_free(), która zwolniłaby tę referencję, co prowadzi do niezrównoważenia liczników referencji.
W jądrze Linux w module svcrdma pole pozycji fragmentu Read RPC/RDMA jest dostarczane przez zdalnego klienta i przechowywane bez weryfikacji. xdr_count_read_segments() sprawdza tylko wyrównanie do 4 bajtów i nigdy nie porównuje pozycji z długością otrzymanego ciała inline, co w ścieżce pojedynczego fragmentu prowadzi do niedomiaru długości ogona i ujawnienia sąsiedniej pamięci slab, a w ścieżce wielu fragmentów do niedomiarów przy obliczaniu odstępów i kopiowania poza bufor odbioru.
W jądrze Linux w systemie plików UDF mapowanie wirtualnej partycji UDF 1.50 używa tablicy VAT jako tablicy mapowań bloków fizycznych, gdzie s_num_entries przechowuje liczbę wpisów, a nie najwyższy prawidłowy indeks. udf_get_pblock_virt15() odrzuca obecnie tylko indeksy większe niż s_num_entries, więc spreparowany obraz może zażądać indeksu równego s_num_entries, przejść kontrolę zakresu i spowodować odczyt jednego wpisu poza zaalokowaną tablicą VAT.
W jądrze Linux w sterowniku wifi ath6kl funkcja ath6kl_cfg80211_connect_event() odejmuje stałe przesunięcia IE od długości assoc_req_len i assoc_resp_len (typu u8) bez sprawdzenia dolnej granicy. Gdy długość jest mniejsza niż przesunięcie, wartość u8 zawija się do około 250, a cfg80211_connect_result()/cfg80211_roamed() traktują ją jako długość IE i kopiują tyle bajtów z małego bufora assoc_info do przestrzeni użytkownika przez nl80211, ujawniając sąsiednią pamięć slab.
W jądrze Linux w sterowniku wifi mt76 (mt7925) oczekująca praca mlo_pm_work nie jest anulowana w ścieżkach resetu, zawieszenia i wyrejestrowania urządzenia. Jeśli urządzenie zostanie zresetowane, zawieszone lub wyrejestrowane w tym oknie, praca może nadal działać i uzyskiwać dostęp do już zwolnionych danych vif/bss lub wysyłać polecenia MCU, gdy firmware jest niedostępny.
W jądrze Linux w sterowniku media staging/ipu7 funkcja isys_register_devices() rejestruje asynchroniczny notifier V4L2, ale ścieżka błędu probe (isys_probe()) wywołuje tylko isys_unregister_devices(), która nie wyrejestrowuje ani nie czyści notifiera. W rezultacie notifier pozostaje na globalnej liście notifier_list, podczas gdy struktura ipu7_isys jest zwalniana przez devres, co prowadzi do uszkodzenia listy i use-after-free przy następnym przejściu po liście.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

