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 EDAC/altera funkcje konfiguracji ECC (a10 .setup oraz ich helpery) były oznaczone jako __init, mimo że są wywoływane ze ścieżki probe, która może wykonać się po zwolnieniu pamięci __init. Prowadziło to do odwołań do zwolnionej pamięci przy odroczonym probe (-EPROBE_DEFER) lub ręcznym unbind/rebind.
W jądrze Linux występuje wyścig (race condition) w implementacji Bluetooth RFCOMM dotyczący początkowego odwołania do portu TTY. Zarówno ścieżka instalacji, jak i zwalniania urządzenia mogą zwolnić to samo odwołanie, co prowadzi do użycia po zwolnieniu pamięci (use-after-free). Problem dotyczy urządzeń RFCOMM_RELEASE_ONHUP i został potwierdzony przez KASAN.
W jądrze Linux występuje podatność use-after-free w funkcji build_pairing_cmd() obsługującej Bluetooth SMP. Funkcja odczytuje zdalne dane OOB bez blokady hdev->lock, przez co równoległe polecenie usunięcia danych OOB może zwolnić wpis, zanim SMP zdąży go odczytać. Problem został rozwiązany przez wprowadzenie dedykowanej blokady remote_oob_lock.
W jądrze Linux występuje podatność use-after-free w podsystemie Bluetooth (hci_sync). Wątek roboczy poleceń synchronizacji odczytuje wpisy pamięci podręcznej zapytań bez odpowiedniej blokady, co pozwala równoległemu ioctl HCIINQUIRY zwolnić wpis i doprowadzić do odczytu zwolnionej pamięci.
W jądrze Linux występuje podatność use-after-free w funkcji hci_enhanced_setup_sync() odpowiedzialnej za konfigurację połączenia Bluetooth SCO. Funkcja odczytuje wskaźnik conn->parent bez blokady hci_dev_lock, przez co równoległy wątek odbierający może zwolnić obiekt rodzica ACL, zanim zostanie on odczytany. Luka została naprawiona poprzez utrzymanie blokady hci_dev_lock przez cały czas przełączania kodeka.
W jądrze Linux występuje podatność use-after-free w podsystemie Bluetooth. Funkcja hci_chan_sent() wybiera kanał w sekcji RCU, ale zwalnia blokadę przed użyciem chan->conn, przez co równoległe usunięcie kanału (np. w wyniku timeoutu rozłączenia) może zwolnić pamięć kanału, zanim scheduler TX zakończy jego użycie.
W jądrze Linux występuje podatność use-after-free w podsystemie Bluetooth. Funkcja hci_low_sent() wybiera połączenie w sekcji RCU, ale zwalnia blokadę odczytu przed użyciem wskaźnika, przez co hci_sched_iso() i hci_sched_sco() mogą odwołać się do połączenia, które zostało już zwolnione przez hci_abort_conn_sync(). Problem został rozwiązany poprzez utrzymywanie blokady hci_dev_lock() podczas wyboru i transmisji połączenia.
W jądrze Linux w funkcji hci_queue_iso() ścieżka fragmentowanych pakietów ISO wywołuje __skb_queue_tail() bez trzymania blokady conn->data_q.lock. Wątek transmisji może równolegle usuwać pakiety z kolejki przez skb_dequeue(), co prowadzi do use-after-free lub uszkodzenia kolejki.
W funkcji btintel_hw_error() w sterowniku btintel jądra Linux wydruk "Exception info %s" używa skb->data + 1, ale 12-bajtowy ładunek nie musi być zakończony znakiem NUL, co pozwala na odczyt poza końcem bufora.
W funkcji btintel_pcie_recv_frame() jądra Linux zmienna plen typu u16 jest obliczana jako HDR_SIZE + dlen. Dla ramek ACL/ISO dlen jest 16-bitowe, więc wartość >= 0xFFFC powoduje przepełnienie sumy, omijając sprawdzenie "skb->len < plen" i pozwalając skb_trim() obciąć pakiet.
W funkcji btintel_pcie_send_frame() jądra Linux dane skb->data są kopiowane do stałego bufora DMA BTINTEL_PCIE_BUFFER_SIZE (4096) przez memcpy() w btintel_pcie_prepare_tx(), z 4-bajtowym nagłówkiem PCIe. Proces użytkownika z dostępem HCI_CHANNEL_USER może wstrzyknąć zbyt duży pakiet i przepełnić bufor.
W jądrze Linux funkcja get_align_mask() zwraca huge_page_mask_align() dla hugetlbfs, ale get_align_bits() dodaje va_align.bits niezależnie, więc vm_unmapped_area() zwraca adres poza granicą wielkiej strony, a __unmap_hugepage_range() trafia na BUG_ON(start & ~huge_page_mask(h)) przy niszczeniu mapowania.
W funkcji tpm2_get_random() jądra Linux, gdy odpowiedź zawiera tag TPM2_ST_SESSIONS, funkcja pomija 4-bajtowe pole rozmiaru parametru przed zlokalizowaniem danych losowych, ale sprawdzenie granic nadal waliduje długość odpowiedzi względem TPM_HEADER_SIZE. Obcięta odpowiedź może przejść sprawdzenie i spowodować, że memcpy() odczyta do 4 bajtów poza końcem odpowiedzi.
W podsystemie nvme-multipath jądra Linux nagłówek przestrzeni nazw jest oznaczany jako zoned przy alokacji tylko na podstawie identyfikatora zestawu poleceń. Jeśli zapytanie o informacje o strefie zwróci zerowy rozmiar strefy, przestrzeń nazw ścieżki jest rejestrowana bez limitów zoned, podczas gdy nagłówek nadal reklamuje możliwość zoned z zerowym rozmiarem strefy, co prowadzi do przesunięcia przez ilog2(0).
W podsystemie nvme-multipath jądra Linux liczba grup ANA reklamowanych przez Identify Controller określa rozmiar bufora dziennika ANA. Zarówno nagłówek dziennika ANA, jak i deskryptory grup niezależnie podają liczbę grup i identyfikatorów przestrzeni nazw do przetworzenia. Oba sprawdzenia granic odejmują niezaufany rozmiar obiektu od ana_log_size przed porównaniem bieżącego przesunięcia, co przy zbyt dużym obiekcie powoduje niedomiar size_t i odczyt poza ana_log_buf.
W funkcji nvmet_auth_challenge() jądra Linux bufor wyjściowy jest przekazywany jako wskaźnik void, więc sizeof(*d) w GCC wynosi jeden i zaniża stały nagłówek challenge o 15 bajtów. Krótki bufor AUTH_RECEIVE może przejść sprawdzenie, zanim challenge zostanie skopiowany poza koniec alokacji.
W podsystemie nvmet pci-epf jądra Linux host kontroluje długość segmentu SGL. Niezerowa długość mniejsza niż jeden deskryptor SGL powoduje, że nr_descs wynosi zero, więc nvmet_pci_epf_get_sgl_segment() odczytuje bajt typu sgls[-1] poza przydzielonym buforem. Jeśli ten bajt zawiera typ deskryptora segmentu, funkcja kopiuje również poprzedzające 16 bajtów i zwraca ujemną liczbę deskryptorów.
W jądrze Linux w module nvmet funkcja nvmet_ctrl_init_pr() zapisuje hostid kontrolera, zanim dane połączenia (w tym hostid) zostaną skopiowane, przez co tworzone wpisy rezerwacji pc_ref zawierają zerowy UUID. Powoduje to, że operacje Preempt i Abort nie mogą dopasować hostid ofiary i degradują się do zwykłego Preempt, pozostawiając operacje I/O ofiary w toku.
W jądrze Linux w module block2mtd parametr erase_size może zostać ustawiony na zero, co powoduje dzielenie przez zero w funkcji add_device() podczas operacji modulo. Prowadzi to do błędu jądra (divide error) i awarii.
W jądrze Linux w sterowniku Cadence NAND (mtd: rawnand) procedura obsługi przerwań rejestrowana jest przed inicjalizacją blokady IRQ i obiektu completion. Pozostawia to okno, w którym oczekujące przerwanie może uzyskać dostęp do niezainicjalizowanego stanu synchronizacji.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

