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 mechanizmie binder, gdy transakcja TF_UPDATE_TXN zastępuje oczekującą transakcję asynchroniczną w zamrożonym procesie, przestarzała transakcja jest zwalniana bezpośrednio przez kfree(), pomijając binder_free_txn_fixups(). Powoduje to wyciek wszystkich wpisów binder_txn_fd_fixup i referencji struct file pozyskanych przez fget().
W jądrze Linux występuje podatność use-after-free w funkcji binder_add_device w systemie plików binderfs. Po opublikowaniu nowego wpisu urządzenia i zwolnieniu blokady katalogu nadrzędnego, równoległe wywołanie unlinkat() może usunąć wpis i zwolnić obiekt urządzenia, do którego binder_add_device() następnie zapisuje, powodując zapis do zwolnionej pamięci.
W jądrze Linux w module nitro_enclaves, gdy ne_create_vm_ioctl() zwróci błąd SLOT_ALLOC po udanym anon_inode_getfile(), ścieżka błędu wywołuje fput(enclave_file), a następnie zwalnia ne_enclave. Ponieważ fput() odracza finalne __fput() przez task_work, ne_enclave_release() uruchamia się po zwolnieniu ne_enclave i odwołuje się do ne_enclave->slot_uid, powodując use-after-free.
W jądrze Linux w module rust_binder odroczone elementy pracy na liście todo wątku nie są czyszczone w metodzie Thread::release(). Może to wystąpić, gdy wątek kończy działanie, mając aktywną transakcję wychodzącą, co prowadzi do wycieku zasobów.
W jądrze Linux w sterowniku USB cdc-acm funkcja acm_port_shutdown() bezwarunkowo wywołuje acm_unpoison_urbs() i przy ustawionej kwirkowej fladze ALWAYS_POLL_CTRL natychmiast ponownie wysyła ctrlurb oraz wszystkie URBy odczytu. Jeśli równoległy acm_disconnect() zwolni te URBy i ich bufory DMA w trakcie przetwarzania, dochodzi do use-after-free w acm_ctrl_irq() lub acm_read_bulk_callback().
W jądrze Linux w sterownikach USB serial niektóre sterowniki urządzeń wieloportowych uzyskują dostęp do danych sterownika portu z procedur obsługi ukończenia współdzielonych URBy wysyłanych przy attach() lub pierwszym open() i zatrzymywanych przy disconnect() lub ostatnim close(). Proste sprawdzenie NULL nie zapobiega wyścigowi z niszczeniem portu, co prowadzi do use-after-free.
W jądrze Linux w sterowniku USB storage sierra_ms funkcja sierra_get_swoc_info() żąda 60 bajtów przez usb_control_msg(), ale wywołujący traktują tylko ujemną wartość zwracaną jako błąd. Urządzenie odpowiadające krótkim transferem IN pozostawia niezinicjalizowany ogon bufora swoc_info, który truinst_show() wypisuje do świata czytelnego atrybutu sysfs "truinst", ujawniając do 5 bajtów nieaktualnej pamięci sterty jądra.
W jądrze Linux w module USB gadget midi2 tablice deskryptorów jack in/out w strukturze f_midi2_usb_config mają rozmiar MAX_CABLES, co okazało się nieprawidłowe. Wpisy są dodawane zarówno z wejść, jak i wyjść, więc w każdej iteracji pętli dodawane są dwa, co daje dwukrotnie większy rozmiar niż oczekiwano i może prowadzić do zapisu poza zakresem (OOB) przy dużej liczbie jacków skonfigurowanych przez configfs.
W jądrze Linux funkcje generic_set_cmd() i generic_get_cmd() w sterowniku USB gadget f_uac1_legacy używają dolnego półbajtu ctrl->bRequest jako indeksu do tablicy con->data[], która ma tylko 5 elementów. Wartości indeksu od 5 do 15 powodują dostęp poza zakresem tablicy na stercie (do 44 bajtów). Złośliwy host USB może wysłać specjalnie spreparowane żądanie SET_CUR/GET_CUR, wywołując tę podatność z procedury obsługi przerwania.
W jądrze Linux w sterowniku USB Type-C anx7411 przerwanie IRQ jest zarządzane przez devm, więc może nadal kolejkować plat->work, gdy funkcja remove() niszczy kolejkę roboczą. Prowadzi to do wyścigu i potencjalnego użycia zwolnionej pamięci.
W jądrze Linux w sterowniku USB dwc3 gadget funkcja dwc3_check_event_buf() zwraca IRQ_NONE bez zapisu z powrotem do GEVNTCOUNT, gdy odczytana wartość przekracza długość bufora zdarzeń. Ponieważ przerwanie DWC3 jest poziomowo wyzwalane, nie wyczyszczone źródło IRQ powoduje burzę przerwań, nagromadzenie nieobsłużonych przerwań i panikę jądra (BUG w spurious.c:184).
W jądrze Linux w sterowniku USB gadget aspeed-vhub element roboczy wake_work nie jest anulowany w ast_vhub_remove(), co może prowadzić do użycia zwolnionej pamięci po zwolnieniu vhub i jego portów. Ponadto żądanie zdalnego wybudzenia może ponownie uzbroić work po anulowaniu, jeśli flaga registered nie zostanie wyczyszczona.
W jądrze Linux sterownik USB gadget dummy-hcd emuluje synchronize_irq(), czekając aż licznik callback_usage spadnie do 0. Licznik ten nie jest jednak zwiększany podczas wywołań procedur ukończenia żądań, co może prowadzić do sytuacji, w której procedura unbind sterownika gadget uruchomi się przed zakończeniem wszystkich oczekujących ukończeń żądań.
W jądrze Linux w funkcji f_fs (FunctionFS) występuje błąd NULL pointer dereference. Gdy przestrzeń użytkownika skonfiguruje FunctionFS tylko z deskryptorami pełnej prędkości (FUNCTIONFS_HAS_FS_DESC), a gadget działa z wyższą prędkością (HIGH lub SUPER), ioctl FUNCTIONFS_ENDPOINT_DESC wybiera indeks deskryptora na podstawie prędkości gadgetu, który może być NULL, co prowadzi do natychmiastowej paniki jądra.
W jądrze Linux funkcja usb_disable_endpoint() czyści tylko jeden z wpisów dev->ep_out[epnum] lub dev->ep_in[epnum] dla niezerowych kontrolnych punktów końcowych, pozostawiając drugi wskaźnik do wyłączonego/zwolnionego punktu końcowego. Może to prowadzić do użycia zwolnionej pamięci.
W jądrze Linux sterownik USB dwc2 usuwa timer wybudzenia dopiero po zwolnieniu stanu hosta w dwc2_hcd_free(), a timer_delete() nie synchronizuje wywołania zwrotnego ani nie zapobiega ponownemu zakolejkowaniu. Może to prowadzić do użycia zwolnionej pamięci.
W jądrze Linux w sterowniku USB Type-C TCPM naprawiono błąd, w którym nieudane rozpoczęcie sekwencji FAST_ROLE_SWAP AMS nie powodowało resetu portu. W rezultacie, gdy wadliwy kabel sygnalizował FRS podczas odłączenia, kontroler TCPC autonomicznie włączał zasilanie VBUS i pozostawało ono aktywne mimo braku poprawnego przejścia stanu. Poprawka wymusza przejście do stanu ERROR_RECOVERY i reset portu w takiej sytuacji.
W jądrze Linux funkcja tps6598x_connect() przekazuje niezainicjalizowaną strukturę typec_partner_desc do typec_register_partner(), inicjalizując tylko niektóre pola. Może to prowadzić do zapisania śmieciowych wskaźników funkcji i ich późniejszego wywołania, a także wycieku danych stosu przez sysfs.
W jądrze Linux funkcja cd321x_update_work() przekazywała do typec_register_partner() strukturę typec_partner_desc alokowaną na stosie, inicjalizując jedynie pola usb_pd, accessory i identity. Pozostałe pola, w tym wskaźniki funkcji attach i deattach oraz pd_revision i usb_capability, pozostawały niezainicjalizowane, co mogło prowadzić do wywołania przypadkowych wskaźników funkcji lub wycieku danych ze stosu przez sysfs.
W jądrze Linux klient pmic_glink jest zwalniany przez mechanizm devres po powrocie z pmic_glink_ucsi_remove(), więc jego callbacki mogą kolejkować pracę do tego momentu. Praca wykonana po wywołaniu ucsi_unregister() odwołuje się do zwolnionego stanu (tablicy connectorów) lub ponownie rejestruje/wyrejestrowuje instancję, co prowadzi do use-after-free.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

