Podatności Linux kernel
7562 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-93140Nieznane
W jądrze Linux występuje problem w systemie plików UDF. Gdy podczas zapisu bufora Logical Volume Integrity Descriptor (LVID) wystąpi błąd wejścia/wyjścia, warstwa blokowa usuwa flagę BH_Uptodate, mimo że dane LVID w pamięci pozostają poprawne. Przy ponownym montowaniu w trybie zapisu lub synchronizacji funkcje udf_open_lvid() i udf_sync_fs() modyfikują bufor i wywołują mark_buffer_dirty(), co powoduje fałszywe ostrzeżenie WARN_ON_ONCE(!buffer_uptodate(bh)).
- CVE-2026-93139Nieznane
W jądrze Linux w sterowniku drm/amdgpu/mes pętla inicjalizująca tablicę hung_queue_db_array iterowała tylko AMDGPU_MAX_MES_PIPES razy, pozostawiając wpisy niezainicjalizowane dla GPU z wieloma XCC. Może to prowadzić do dereferencji pustego wskaźnika przy dostępie do tablic indeksowanych ID XCC >= 2. Poprawka rozszerza pętlę o wszystkie XCC.
- CVE-2026-93136Nieznane
W jądrze Linux w sterowniku bus: mhi: ep funkcja mhi_ep_create_device() przydziela referencje do urządzenia dla kanałów UL i DL. W przypadku błędu dev_set_name() lub device_add(), ścieżka błędu zwalnia tylko jedną referencję, co prowadzi do wycieku referencji i pozostawienia kanałów związanych z niezarejestrowanym urządzeniem. Poprawka kieruje oba błędy przez wspólną ścieżkę wycofania.
- CVE-2026-93135Nieznane
W jądrze Linux, gdy architektura (np. LoongArch, ARM64, RISC-V) implementuje bpf_jit_inlines_helper_call(), weryfikator pomija przepisanie offsetu wywołania pomocnika. Jeśli JIT jest wyłączony lub kompilacja JIT zawiedzie, program jest wykonywany przez interpreter, co prowadzi do skoku w nieprawidłowy adres i paniki jądra. Poprawka ustawia prog->jit_required = 1, aby odrzucić takie programy, gdy JIT jest niedostępny.
- CVE-2026-93134Nieznane
W jądrze Linux w funkcji printk, podczas emisji rekordu przez starsze drukowanie może nastąpić przekazanie kontekstu, co zwalnia blokadę SRCU i unieważnia wskaźnik do struktury konsoli. Funkcja console_flush_one_record() nie sprawdzała tego po emisji, co może prowadzić do use-after-free. Poprawka przenosi dalsze użycie @con po sprawdzeniu przekazania.
- CVE-2026-93133Nieznane
W jądrze Linux w funkcji riscv_acpi_add_prt_dep() wywołanie acpi_get_handle() może zakończyć się niepowodzeniem, pozostawiając link_handle niezainicjalizowany. Poprawka sprawdza status zwracany przez acpi_get_handle() i pomija wpis w przypadku błędu.
- CVE-2026-93132Nieznane
W jądrze Linux w funkcji riscv_acpi_add_prt_dep() pętla nieprawidłowo obsługuje warunki błędów, kontynuując bez aktualizacji wskaźnika wpisu, co pomija kolejne wpisy. Poprawka przepisuje pętlę jako pętlę for z poprawną kontynuacją i używa funkcji pomocniczych.
- CVE-2026-93131Nieznane
W jądrze Linux w sterowniku platform/x86: dell-privacy występuje wyścig przy dostępie do priv->features_present. Dostęp musi być chroniony mutexem listy, w przeciwnym razie priv może zostać zwolniony w dowolnym momencie. Poprawka zapewnia trzymanie mutexu podczas dostępu.
- CVE-2026-93130Nieznane
W jądrze Linux w sterowniku platform/x86: dell-wmi-base występuje wyciek zasobów podczas niepowodzenia ładowania modułu. Poprawka zapewnia prawidłowe czyszczenie żądania SMBIOS i sterownika prywatności w przypadku błędu ładowania.
- CVE-2026-93129Nieznane
W jądrze Linux w module platform/x86 dell-wmi-base występuje błąd indeksowania przy obsłudze klawisza ultra performance. Dane zdarzenia przekazywane do dell_wmi_process_key() są już sparsowane, więc użycie nieprawidłowego indeksu przy dostępie do pierwszego pola danych może prowadzić do odczytu poza buforem.
- CVE-2026-93128Nieznane
W jądrze Linux w module platform/x86 lg-laptop występuje błąd w obsłudze zasobów LED. Callback powiadomień zdarzeń może odwoływać się do kbd_backlight, nawet gdy urządzenie LED nie zostało pomyślnie zarejestrowane, a acpi_remove() wyrejestrowuje urządzenia LED bezwarunkowo.
- CVE-2026-93126Nieznane
W jądrze Linux w sterowniku remoteproc qcom_q6v5_adsp występuje wyciek referencji do węzła urządzenia. Funkcja adsp_map_carveout wywołuje of_parse_phandle_with_args(), ale nie zwalnia referencji węzła przez of_node_put().
- CVE-2026-93124Nieznane
W jądrze Linux w module platform/x86 asus-wireless funkcja asus_wireless_probe() zwraca sukces, gdy acpi_match_acpi_device() nie znajdzie dopasowania. Prowadzi to do pozostawienia urządzenia wejściowego bez zainstalowanego handlera powiadomień, a przy wymuszonym powiązaniu z urządzeniem bez towarzysza ACPI zapisuje wskaźnik NULL, co powoduje dereferencję NULL przy odłączaniu.
- CVE-2026-93123Nieznane
W jądrze Linux w sterowniku serial qcom-geni ścieżka ukończenia transmisji DMA przesuwała bufor FIFO o liczbę bajtów zapisaną w port->tx_remaining. Jeśli uart_flush_buffer() wykonał się po zakończeniu transferu DMA przez sprzęt, ale przed obsługą przerwania ukończenia, nieaktualne ukończenie DMA mogło przesunąć i odrzucić nowe dane zapisane po opróżnieniu bufora. Podatność naprawiono oznaczając trwający transfer DMA jako nieaktualny w momencie opróżnienia FIFO transmisji.
- CVE-2026-93120Nieznane
W jądrze Linux funkcja os_desc_qw_sign_show() sterownika USB gadget configfs przekazywała OS_STRING_QW_SIGN_LEN (14) jako długość wejściową do utf16s_to_utf8s(), mimo że argument ten liczy jednostki kodu UTF-16, a tablica qw_sign[] ma tylko 7 jednostek. Gdy sygnatura wypełnia tablicę bez terminatora NUL, konwersja odczytuje do 7 jednostek poza koniec tablicy, ujawniając sąsiednie bajty struktury gadget_info przez atrybut configfs.
- CVE-2026-93119Nieznane
W jądrze Linux funkcja ljca_enumerate_gpio() sterownika USB ljca odczytuje desc->bank_num z urządzenia i wykonuje pętlę zapisującą do tablicy valid_pin[], która ma tylko 2 wpisy. Istniejące sprawdzenia nie ograniczają bank_num względem rozmiaru valid_pin[], więc urządzenie zgłaszające bank_num 9 i pins_per_bank 7 przechodzi weryfikację i powoduje przepełnienie stosu. Złośliwe lub uszkodzone urządzenie LJCA może w ten sposób przepełnić stos.
- CVE-2026-93118Nieznane
W jądrze Linux funkcja ast_udc_probe() sterownika USB gadget aspeed_udc przydziela spójny bufor DMA używany jako magazyn buforów endpointów, a ast_udc_init_ep() wywodzi wskaźniki z udc->ep0_buf. Nieudana alokacja jest dereferencjonowana podczas probe, a istniejąca ścieżka błędu wywołuje ast_udc_remove(), co jest niebezpieczne przed udanym usb_add_gadget_udc(). Poprawka dodaje sprawdzenie alokacji i lokalny pomocnik czyszczenia.
- CVE-2026-93117Nieznane
W jądrze Linux dynamiczne identyfikatory USB są ważne tylko przy trzymanym usb_dynids_lock, ponieważ remove_id_store może zwolnić węzeł. Funkcja usb_probe_interface korzystała z tych identyfikatorów bez kopii, co prowadzi do use-after-free, gdy probe przebiega równolegle z usuwaniem dynamicznego ID. Poprawka tworzy kopię identyfikatora w usb_probe_interface.
- CVE-2026-93115Nieznane
W jądrze Linux funkcja mlxbf_pmc_probe() sterownika platform/mellanox mlxbf-pmc przekazuje wynik ACPI_COMPANION() do acpi_device_hid(), która go dereferencjonuje. Ponieważ sterownik platformowy może zostać wymuszony do dopasowania urządzenia bez obiektu towarzyszącego ACPI, prowadzi to do dereferencji wskaźnika NULL. Poprawka dodaje sprawdzenie ACPI_COMPANION() względem NULL i zwraca -ENODEV.
- CVE-2026-93114Nieznane
W jądrze Linux funkcja san_probe() sterownika platform/surface acpi-notify dereferencjonuje wynik ACPI_COMPANION() podczas instalacji handlera przestrzeni adresowej GSBUS. Ponieważ sterownik platformowy może zostać wymuszony do dopasowania urządzenia bez towarzysza ACPI, prowadzi to do dereferencji wskaźnika NULL. Poprawka sprawdza ACPI_COMPANION() względem NULL i zwraca -ENODEV.
- CVE-2026-93113Nieznane
W jądrze Linux rozwiązano problem w sterowniku clk: qcom: camcc-sc8280xp, gdzie nie wyrejestrowywano zegara CAMCC_GDSC_CLK. Po wprowadzeniu obsługi sync_state w podsystemach clk i pmdomain, przy wyłączaniu nieużywanych zegarów pojawiało się ostrzeżenie jądra o zablokowanym stanie 'on' dla titan_top_gdsc.
- CVE-2026-93110Nieznane
W jądrze Linux funkcja put_gid_ndev() jest kolejkowana przez call_rcu() i zaimplementowana w ib_core. Zatrzymanie workqueues nie opróżnia już zakolejkowanych callbacków, więc RCU może wywołać ją po wyładowaniu kodu modułu. synchronize_rcu() nie czeka na callbacki — poprawka czeka na nie po zatrzymaniu wszystkich producentów.
- CVE-2026-93109Nieznane
W jądrze Linux funkcja devx_free_subscription() może pozostać w kolejce po zwolnieniu ostatniego odwołania do modułu przez plik zdarzeń DevX lub odłączeniu urządzeń przez sterownik pomocniczy. Moduł mlx5_ib może zostać wyładowany przed wykonaniem callbacku. Ścieżka błędów rejestracji sterownika ma to samo ryzyko — poprawka czeka po zatrzymaniu wszystkich sterowników.
- CVE-2026-93108Nieznane
W jądrze Linux ukończenia odzyskiwania IPoIB mogą być sygnalizowane z wnętrza callbacku RCU. Proces teardown może obudzić się przed powrotem callbacku i wyładować ib_ipoib, gdy jego kod jest wciąż wykonywany. Awaria rejestracji klienta może również usuwać już dodane urządzenia i kolejkować callbacki — poprawka czeka po zakończeniu teardown klienta i workqueue.
- CVE-2026-93106Nieznane
W jądrze Linux funkcja restore_dm_crypt_keys_to_thread_keyring() pobiera referencję do keyringu użytkownika przed przywróceniem zapisanych kluczy dm-crypt. Ta sama referencja jest przekazywana do add_key_to_keyring() dla każdego klucza, ale funkcja ta zwalnia referencję przy każdym wywołaniu. Przy przywracaniu wielu kluczy referencja jest zwalniana zbyt wiele razy, co może wywołać underflow licznika referencji lub use-after-free. Przy więcej niż pięciu kluczach może wystąpić ostrzeżenie o underflow/use-after-free.
- CVE-2026-93104Nieznane
W jądrze Linux funkcja rvt_alloc_device() dealokuje urządzenie IB, gdy nie można zaalokować tablicy portów, ale następnie zwraca wskaźnik do zwolnionej alokacji. Wywołujący traktują każdą nie-NULL wartość jako prawidłową i dereferencjonują ją, co prowadzi do use-after-free. Poprawka zwraca NULL natychmiast po dealokacji, aby wywołujący mogli propagować błąd alokacji.
- CVE-2026-93103Nieznane
Podatność w sterowniku hfi1 w jądrze Linuxa dotyczy funkcji hfi1_free_devdata(), która zakłada, że urządzenie zostało umieszczone w tabeli jednostek i bezwarunkowo kasuje dd->unit. Jeśli xa_alloc_irq() zawiedzie, wyzerowana jednostka pozostaje zerem, co może spowodować usunięcie niezwiązanego urządzenia z indeksu 0 podczas pełnego czyszczenia.
- CVE-2026-93102Nieznane
Podatność w sterowniku hfi1 dotyczy wycieku pamięci podczas późnej awarii probe. Funkcja hfi1_init_dd() przydziela współdzielone wsparcie RX AIP/VNIC przed zwróceniem. Jeśli hfi1_init() lub hfi1_register_ib_device() później zawiedzie, init_one() usuwa dane urządzenia bez wywołania hfi1_free_rx(), co powoduje wyciek netdev_rx i jego atrapy netdev.
- CVE-2026-93101Nieznane
Podatność w podsystemie v4l2-async w jądrze Linuxa powoduje awarię podczas odłączania urządzenia em28xx z użyciem i2c tvp5150. Gdy lista asc_list jest pusta, funkcja v4l2_async_unregister_subdev() nie wywołuje v4l2_device_unregister_subdev(), co prowadzi do crasha. Poprawka polega na wywołaniu v4l2_device_unregister_subdev() nawet przy pustej asc_list.
- CVE-2026-93100Nieznane
W jądrze Linux występuje podatność use-after-free w funkcji rdtgroup_kn_put() w podsystemie fs/resctrl. Struktura rdtgroup jest zwalniana przez dwa konkurencyjne mechanizmy, co może prowadzić do użycia zwolnionej pamięci, a nawet podwójnego zwolnienia. Problem naprawiono zastępując atomic_dec_and_test() funkcją atomic_dec_and_mutex_lock(), która zapewnia wzajemne wykluczanie z mechanizmami masowego zwalniania.
- CVE-2026-93099Nieznane
Podatność use-after-free (UAF) w jądrze Linux w podsystemie resctrl, występująca podczas usuwania domen monitorowania. Pracownicy (worker threads) odczytujący liczniki zdarzeń mogą spać i korzystać z opóźnionej pracy (delayed_work) umieszczonej w strukturze domeny. W pewnych warunkach, gdy pracownik czeka na blokadę, domena może zostać zwolniona, co prowadzi do odwołania do zwolnionej pamięci.
- CVE-2026-93098Nieznane
W jądrze Linux występuje zakleszczenie (deadlock) w implementacji rpmsg glink podczas niszczenia endpointu przy odłączaniu sterownika. Funkcja niszcząca endpoint próbuje wyrejestrować urządzenie rpmsg, co powoduje ponowną próbę zdobycia tego samego muteksa urządzenia już trzymanego przez rdzeń, w wyniku czego rmmod zawiesza się na stałe. Problem rozwiązano poprzez usunięcie zbędnej operacji wyrejestrowania.
- CVE-2026-93097Nieznane
Podatność w podsystemie cxl/mbox w jądrze Linuxa dotyczy zapętlenia w pętli listy trucizn. Urządzenie zwracające count == 0 z ustawionym CXL_POISON_FLAG_MORE w każdej iteracji nie zwiększa nr_records, więc zabezpieczenie max_errors nie działa i pętla do/while działa w nieskończoność, trzymając mutex poison. To zawiesza wątek skanowania sysfs i blokuje wszystkie kolejne operacje trucizn na urządzeniu. Poprawka zatrzymuje pętlę przy pustym ładunku.
- CVE-2026-93096Nieznane
Podatność w podsystemie cxl/features w jądrze Linuxa dotyczy braku serializacji wieloczęściowych transferów Get/Set Feature. Payload większy niż rozmiar skrzynki mailowej jest dzielony na kilka komend, ale mbox_mutex nie chroni całego transferu. Równoczesne wywołania z fwctl i ścieżek EDAC mogą przeplatać części transferu, co może uszkodzić kontekst urządzenia. Poprawka dodaje per-mailbox feat_mutex trzymany przez cały transfer.
- CVE-2026-93094Nieznane
Podatność w sterowniku wifi ath12k w jądrze Linuxa dotyczy pozostałych odwołań dp_link_peer podczas wycofywania AP vdev. Gdy tworzenie vdev zawiedzie po ath12k_peer_create(), funkcja nie wywołuje ath12k_dp_link_peer_unassign(), pozostawiając opublikowane referencje wskazujące na potencjalnie zwolnioną pamięć, co prowadzi do użycia po zwolnieniu. Poprawka polega na użyciu ath12k_peer_delete(), które najpierw wykonuje unassign.
- CVE-2026-93093Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że stan kanału transportowego jest publikowany dopiero po wywołaniu callbacków, co może prowadzić do wyłuskania wskaźnika NULL w callbacku RX. Problem dotyczy zarówno kanałów mailbox, jak i SMC, gdzie wczesne przerwania mogą wywołać callback przed inicjalizacją wskaźnika cinfo lub handle.
- CVE-2026-93092Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że notyfikator urządzeń nie jest wyrejestrowywany przed zniszczeniem struktury IDR active_protocols. Może to prowadzić do wyścigu, w którym callback notyfikatora próbuje uzyskać dostęp do już zwolnionej struktury IDR.
- CVE-2026-93091Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że powiadomienia nie są wyciszane przed zniszczeniem kanałów TX/RX, co może prowadzić do wyłuskania zwolnionej pamięci w callbacku powiadomień. Dodatkowo, praca inicjalizacyjna (init_work) może być wykonywana po zwolnieniu instancji powiadomień.
- CVE-2026-93090Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że w przypadku błędu podczas konfiguracji kanałów, wcześniej zarejestrowane kanały nie są poprawnie czyszczone. Może to prowadzić do wycieku zasobów lub pozostawienia nieprawidłowego stanu.
- CVE-2026-93089Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że w przypadku błędu podczas wstawiania do IDR po udanej konfiguracji kanału transportowego, nie jest wywoływany callback czyszczący (chan_free). Może to prowadzić do wycieku zasobów, takich jak IRQ, kanały mailbox i pamięć współdzielona.
- CVE-2026-93086Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że podczas czyszczenia kanałów, callback usuwający wpisy z IDR w trakcie iteracji idr_for_each() może unieważnić iterator, co prowadzi do niebezpiecznego zachowania. Ponadto callback nie może być chroniony przez rcu_read_lock(), ponieważ może spać.
- CVE-2026-93085Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że identyfikatory protokołów z drzewa urządzeń (DT) spoza dozwolonego zakresu nie są odrzucane, co może prowadzić do obcięcia wartości i błędnej interpretacji protokołu. Może to również powodować aliasowanie tożsamości protokołów.
- CVE-2026-93084Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że w przypadku błędu podczas wiązania protokołu, uchwyt SCMI nie jest zwalniany, co prowadzi do wycieku referencji i pozostawienia nieprawidłowego stanu. Dotyczy to również sytuacji, gdy funkcja device_link_add() zawiedzie.
- CVE-2026-93083Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że w przypadku błędu podczas konfiguracji dodatkowego kanału odbiorczego TX, główny kanał mailbox nie jest zwalniany, co prowadzi do pozostawienia kanału zajętego.
- CVE-2026-93082Nieznane
W jądrze Linux w podsystemie ARM SCMI występuje podatność polegająca na tym, że w przypadku błędu podczas konfiguracji dodatkowego kanału odbiorczego P2A, główny kanał P2A nie jest zwalniany, co prowadzi do pozostawienia kanału zajętego.
- CVE-2026-93081Nieznane
W jądrze Linux w sterowniku firmware: arm_scmi występuje błąd zarządzania czasem życia urządzeń SCMI. Funkcja scmi_child_dev_find() zwalnia referencję zwróconą przez device_find_child() przed zwróceniem wskaźnika scmi_device, przez co równoległe wyrejestrowanie może zwolnić urządzenie, gdy ścieżka niszczenia wciąż używa tego wskaźnika. Dodatkowo identyfikator szyny SCMI może zostać ponownie użyty, zanim stary wpis zostanie usunięty z sysfs.
- CVE-2026-93080Nieznane
W jądrze Linux w sterowniku firmware: arm_scmi występuje błąd w wyszukiwaniu urządzeń transportowych podczas rozbierania kanału. Funkcja scmi_device_destroy() używa tego samego mechanizmu dopasowania protokół/nazwa co dopasowanie sterowników, przez co nie znajduje urządzeń transportowych, które powinny zostać wyrejestrowane. Dodatkowo zduplikowane węzły protokołu w firmware mogą ponownie użyć istniejącego urządzenia transportowego i je zniszczyć.
- CVE-2026-93078Nieznane
W jądrze Linux w module cxl/features funkcja cxlctl_set_feature() rozmiar bufora wyjściowego wyznacza z fwctl_rpc.out_len, ale nie sprawdza, czy jest on wystarczająco duży, by pomieścić nagłówek fwctl_rpc_cxl_out. Gdy out_len wynosi 0, kvzalloc() zwraca ZERO_SIZE_PTR, co przechodzi sprawdzenie !rpc_out, a następnie zapis rpc_out->size = 0 następuje przez wskaźnik poison.
- CVE-2026-93077Nieznane
W jądrze Linux w module cxl/features funkcja cxl_get_feature() odczytuje funkcję w pętli, ale w każdej iteracji przekazuje stały rozmiar size_out jako pojemność wyjściową. W ostatniej częściowej iteracji w buforze pozostaje mniej miejsca, więc urządzenie zwracające więcej niż zażądano może przepełnić feat_out.
- CVE-2026-93076Nieznane
W jądrze Linux w module dax/fsdev nie jest czyszczone pole pgmap->vmemmap_shift przy wiązaniu statycznego urządzenia DAX. Przy ponownym powiązaniu statycznego urządzenia z device_dax (które może ustawić vmemmap_shift na podstawie wyrównania) do fsdev_dax nieaktualna wartość vmemmap_shift pozostaje w współdzielonym pgmap, co powoduje zbudowanie vmemmap dla folio innego rzędu niż wymaga fsdev.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

