Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-93093Niskie ryzyko· EPSS 6%
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-93092Niskie ryzyko· EPSS 6%
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-93091Niskie ryzyko· EPSS 10%
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-93090Niskie ryzyko· EPSS 11%
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-93089Niskie ryzyko· EPSS 11%
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-93086Niskie ryzyko· EPSS 10%
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-93085Niskie ryzyko· EPSS 11%
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-93084Niskie ryzyko· EPSS 11%
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-93083Niskie ryzyko· EPSS 10%
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-93082Niskie ryzyko· EPSS 10%
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-93081Niskie ryzyko· EPSS 10%
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-93080Niskie ryzyko· EPSS 10%
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-93079Wysokie
W jądrze Linux w module cxl/features funkcja cxlctl_get_feature() rozmiar bufora wyjściowego wyznacza z fwctl_rpc.out_len, ale urządzeniu nakazuje zapisać cxl_mbox_get_feat_in.count bajtów, gdzie count jest osobną wartością kontrolowaną przez użytkownika. Brak ograniczenia count względem out_len pozwala na przepełnienie bufora przydzielonego przez kvzalloc() i zapis poza zakresem sterty.
- CVE-2026-93078Niskie ryzyko· EPSS 10%
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-93077Niskie ryzyko· EPSS 10%
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-93076Niskie ryzyko· EPSS 9%
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.
- CVE-2026-93075Niskie ryzyko· EPSS 9%
W jądrze Linux w module dax/fsdev funkcja fsdev_dax_probe() ustawia pgmap->ops i pgmap->owner, ale nigdy ich nie czyści przy odłączaniu. Dla statycznego urządzenia pgmap jest współdzielony i długotrwały, więc po odłączeniu fsdev nieaktualny wskaźnik fsdev_pagemap_ops pozostaje w pgmap. Późniejsze memory_failure może wywołać nieaktualny, potencjalnie zwolniony handler.
- CVE-2026-93074Wysokie
W jądrze Linux w module dax/fsdev funkcja __fsdev_dax_direct_access() używa virt_addr + linear_offset zamiast __va(phys) do zwrócenia kaddr. Dla urządzeń wielozakresowych z fizycznymi przerwami między zakresami ta liniowa arytmetyka przekracza przerwę i zwraca błędny adres wirtualny jądra.
- CVE-2026-93073Niskie ryzyko· EPSS 7%
W jądrze Linux w module dax funkcja dax_holder_notify_failure() odczytuje dax_dev->holder_ops dwukrotnie bez READ_ONCE() — raz do sprawdzenia NULL i raz do wywołania notify_failure(). Równoległe fs_put_dax() może wyczyścić holder_ops między tymi odczytami, przez co sprawdzenie widzi wskaźnik nie-NULL, a wywołanie dereferencjonuje NULL.
- CVE-2026-93072Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku irqchip/renesas-irqc występuje wyciek zasobów przy usuwaniu sterownika. Sterownik alokuje domain generic chips podczas sondowania, ale przy usuwaniu nie są one automatycznie zwalniane, ponieważ flagi domeny nie zawierają IRQ_DOMAIN_FLAG_DESTROY_GC. Powoduje to wyciek struktur i pozostawienie ich na globalnej liście, gdzie mogą być później użyte przez wywołania zwrotne suspend, resume lub shutdown po usunięciu sterownika.
- CVE-2026-93071Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik media bcm2835-unicam nie zwalniał struktury asc przydzielonej przez v4l2_async_nf_add_fwnode_remote() w ścieżkach błędów i usuwania modułu. Powodowało to wyciek pamięci widoczny w kmemleak po rmmod.
- CVE-2026-93070Wysokie
W jądrze Linux sterownik media ipu6 zwalniał pamięć pdata po inicjalizacji urządzenia pomocniczego, co mogło prowadzić do podwójnego zwolnienia tego samego obiektu. Ścieżki błędów już wywołują put_device() i auxiliary_device_uninit(), które uruchamiają zwolnienie przez ipu6_bus_release().
- CVE-2026-93069Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie OPP zmieniono kolejność inicjalizacji wskaźników, przez co *opp_table było inicjalizowane po *opp. Powodowało to zmianę kolejności funkcji czyszczących i błędy use-after-free, gdy funkcja _opp_kref_release odwoływała się do już zwolnionego opp->opp_table.
- CVE-2026-93068Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku drm/amd/display występuje wyścig przy usuwaniu adapterów DM I2C. Adaptery mogą pozostać widoczne dla przestrzeni użytkownika podczas demontażu DM, a równoczesny transfer i2c-dev może wywołać amdgpu_dm_i2c_xfer() po zniszczeniu stanu DM, prowadząc do dereferencji NULL.
- CVE-2026-93067Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku drm/bridge tc358767 funkcja tc_aux_transfer() nie ograniczała rozmiaru odczytu AUX do rozmiaru żądania. Kontroler mógł zgłosić do 255 bajtów, co powodowało przepełnienie 16-bajtowego bufora stosu auxrdata i bufora wywołującego.
- CVE-2026-93066Niskie ryzyko· EPSS 10%
W jądrze Linux wykryto podatność use-after-free w mechanizmie PAT (Page Attribute Table) dla architektury x86. Problem występuje podczas równoczesnego ładowania i zwalniania modułów na wielu CPU, gdy operacja scalania dużych stron (large-page collapse) nie jest chroniona odpowiednim zamkiem, co prowadzi do zapisu do zwolnionej pamięci i awarii systemu.
- CVE-2026-93065Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku wifi iwlwifi licznik pętli 'count' w iwl_fwrt_dump_error_logs był typu u8, podczas gdy num_pc jest typu u32. Jeśli firmware zgłosi więcej niż 255 wpisów PC, licznik się przekręca i pętla nigdy się nie kończy, co może powodować nieskończoną pętlę lub odczyt poza tablicą pc_data.
- CVE-2026-93064Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku wifi iwlwifi mvm funkcja iwl_mvm_frob_txf_key_iter() miała błąd off-by-one w obliczaniu przesunięcia początku czyszczenia klucza. Powodowało to wyzerowanie jednego bajtu przed dopasowaniem i pozostawienie ostatniego bajtu klucza nieoczyszczonego.
- CVE-2026-93063Wysokie
W jądrze Linux w sterowniku wifi iwlwifi mei nie sprawdzano długości komunikatu SAP przed jego odczytem. Brak weryfikacji rozmiaru mógł prowadzić do przepełnienia bufora.
- CVE-2026-93062Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku wifi iwlwifi funkcja iwl_dbg_tlv_alloc_fragments mogła doprowadzić do dzielenia przez zero, gdy num_frags wynosiło 0. Brak sprawdzenia rozmiaru i liczby fragmentów umożliwiał wystąpienie tej sytuacji.
- CVE-2026-93061Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku host1x funkcje debugowania używały vsnprintf(), która zwraca długość, jaką miałby sformatowany ciąg przy nieograniczonym buforze. Ta wartość była przekazywana jako liczba bajtów do zapisu, co mogło prowadzić do odczytu poza końcem bufora, jeśli wygenerowany ciąg był dłuższy niż 256 bajtów. Problem dotyczył plików debugfs i był mało prawdopodobny w praktyce.
- CVE-2026-93060Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku drm/msm/adreno funkcja a6xx_gpu_init() zawiera błąd use-after-free na ścieżce błędu. Funkcja a6xx_destroy() zwalnia pamięć 'a6xx_gpu', a następnie 'adreno_gpu' wskazuje na zwolnioną pamięć. Poprawka polega na zachowaniu kodu błędu przed zwolnieniem pamięci.
- CVE-2026-93059Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku drm/msm funkcja recover_worker wycieka referencję do struktury task_struct. get_pid_task() zwiększa licznik referencji, ale brakuje odpowiadającego put_task_struct() w gałęzi else, co powoduje wyciek referencji przy każdym odzyskiwaniu po zawieszeniu GPU.
- CVE-2026-93058Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku drm/msm funkcja msm_ringbuffer_new() niszczy częściowo zainicjalizowany ring przez msm_ringbuffer_destroy(), gdy alokacja lub konfiguracja schedulera zawiedzie. Jeśli drm_sched_init() zawiedzie przed pełną inicjalizacją, ścieżka błędu nadal wywołuje drm_sched_fini(), co zakłada zainicjalizowane elementy schedulera. Poprawka śledzi pomyślną inicjalizację i wywołuje drm_sched_fini() tylko po sukcesie drm_sched_init().
- CVE-2026-93057Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku scsi: ufs: core istnieje możliwość zakleszczenia podczas odzyskiwania pamięci w kontekście TX EQTR. Funkcje ufshcd_tx_eqtr(), __ufshcd_tx_eqtr() i ufs_qcom_get_rx_fom() alokują pamięć z GFP_KERNEL, co może wywołać bezpośrednie odzyskiwanie, które zależy od I/O do urządzenia UFS, a kolejka jest wstrzymana, co prowadzi do zakleszczenia. Poprawka używa memalloc_noio_save/restore() w ufshcd_tx_eqtr(), aby pokryć wszystkie alokacje w drzewie wywołań.
- CVE-2026-93056Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku usb: gadget: f_uac1_legacy makro UAC1_STR_ATTRIBUTE definiuje handlery show/store dla opcji string fn_play, fn_cap i fn_cntl. Funkcja store zawiera odwróconą kontrolę null na wartości zwracanej przez kstrndup(), co powoduje, że każda próba zapisu zwraca -ENOMEM przy sukcesie i dereferencję NULL przy błędzie alokacji. Atrybuty są zepsute i nieużywane od lat. Poprawka usuwa makro i trzy atrybuty.
- CVE-2026-93055Niskie ryzyko· EPSS 7%
W jądrze Linux w systemie plików UDF funkcja udf_symlink_filler() może wywołać udf_pc_to_char() z częściowym nagłówkiem pathComponent. Poprawka dodaje walidację, czy pozostało wystarczająco danych dla pełnego nagłówka, zanim zostanie on odczytany, odrzucając uszkodzone dane dowiązania symbolicznego, które mogłyby spowodować odczyt poza zakresem.
- CVE-2026-93054Wysokie
W jądrze Linux w sterowniku uio występuje problem z nieaktualnym wskaźnikiem info w ścieżce nieudanej rejestracji. Po device_add() urządzenie UIO jest widoczne dla użytkownika i można otworzyć /dev/uioX. Jeśli późniejszy krok zawiedzie, __uio_register_device() wycofuje urządzenie, ale pozostawia idev->info wskazujący na struct uio_info należący do wywołującego. To jest niebezpieczne, gdy otwarcie konkuruje z nieudaną rejestracją, prowadząc do użycia po zwolnieniu. Poprawka obsługuje błędy po device_add() jak przy wyrejestrowaniu: usuwa atrybuty UIO, czyści idev->info pod info_lock i budzi oczekujących przed usunięciem urządzenia.
- CVE-2026-93053Niskie ryzyko· EPSS 7%
W jądrze Linux w sterowniku speakup: keyhelp funkcja help_init() buduje tablicę letter_offsets[] używając pierwszego bajtu każdej nazwy funkcji jako indeksu przez `(start & 31) - 1`. Jeśli nazwy funkcji zostaną nadpisane z sysfs (przez root) nazwą zaczynającą się poza zakresem [a–z], indeks może być ujemny lub przekroczyć rozmiar tablicy, prowadząc do zapisu poza zakresem. Poprawka sprawdza pierwszą literę w help_init() i zwraca błąd, jeśli nie jest w zakresie [a–z].
- CVE-2026-93052Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku misc: bcm-vk występuje problem z kolejnością operacji na msgq_inited. bcm_vk_sync_msgq() wypełnia informacje o kolejce wiadomości, a następnie ustawia msgq_inited. Czytelnicy wywołują bcm_vk_drv_access_ok() przed dostępem do kolejek. atomic_set()/atomic_read() nie porządkują tych dostępów, więc czytelnik może zobaczyć msgq_inited ustawione, ale nadal widzieć nieaktualne informacje o kolejce. Poprawka używa release przy publikowaniu zainicjalizowanych kolejek i acquire przy sprawdzaniu bramki.
- CVE-2026-93051Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku ad525x_dpot pliki sysfs były tworzone ręcznie w funkcji probe, co powodowało problemy z cofaniem częściowo utworzonego stanu sysfs przy błędzie oraz z usuwaniem plików przy odłączaniu urządzenia. Podatność rozwiązano przenosząc atrybuty urządzenia do mechanizmu dev_groups w rdzeniu sterownika oraz dodając callback is_visible(), który udostępnia tylko atrybuty obsługiwane przez dane urządzenie.
- CVE-2026-93050Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku ipack ipoctal występowały trzy błędy przy usuwaniu urządzenia podczas aktywnej sesji tty: use-after-free struktury ipoctal, dereferencja NULL w ipoctal_write_tty() oraz use-after-free w ipoctal_cleanup(). Poprawki wprowadzają zarządzanie czasem życia oparte na kref, sprawdzanie NULL dla xmit_buf oraz flagę "removed" sprawdzaną w operacjach tty.
- CVE-2026-93049Niskie ryzyko· EPSS 11%
W jądrze Linux w module mtdswap błąd konfiguracji debugfs po udanej rejestracji blktrans powodował podwójne zwolnienie struktury mbd_dev. Poprawka polega na wyczyszczeniu lokalnego wskaźnika po wyrejestrowaniu, aby wspólna ścieżka sprzątania nie zwalniała obiektu blktrans dwukrotnie.
- CVE-2026-93048Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja mtd_add_partition() nie odrzucała specjalnej wartości offsetu MTDPART_OFS_RETAIN (-3), co prowadziło do ostrzeżenia WARN_ON w add_mtd_device() przy wywołaniu przez ioctl BLKPG na urządzeniach NAND. Wartość RETAIN zakłada, że cur_offset wskazuje koniec poprzedniej partycji, ale w ścieżce dynamicznego partycjonowania cur_offset równa się samemu argumentowi offset, powodując niezdefiniowane zachowanie.
- CVE-2026-93047Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku drm/v3d lista buforów (BO) była przypisywana tylko do ostatniego zadania w łańcuchu, co przy końcowym zadaniu CACHE_CLEAN powodowało, że zadanie faktycznie konsumujące BO nie miało żadnych zależności niejawnych. Mogło to prowadzić do odczytu BO przez jedno kontekst, podczas gdy inny kontekst jeszcze go zapisywał, powodując uszkodzenie danych. Poprawka przypisuje BO do zadania, które je konsumuje, i dodaje flagę has_implicit_dep.
- CVE-2026-93046Wysokie
W jądrze Linux funkcja software_node_get_reference_args() nieprawidłowo sprawdzała zakres indeksu, gdy przekazano wartość UINT_MAX, co prowadziło do dostępu poza zakresem tablicy właściwości. Poprawka rozszerza sprawdzenie zakresu, aby obejmowało również przypadek UINT_MAX.
- CVE-2026-93045Wysokie
W jądrze Linux funkcja bpf_arena_free_pages() akceptowała adresy aren poniżej bazowego adresu areny, co po zamaskowaniu do dolnych 32 bitów i rekonstrukcji adresu użytkownika prowadziło do zwolnienia zakresu poza mapowaniem areny. Poprawka odrzuca takie zwolnienia przed obliczeniem przyciętego zakresu.
- CVE-2026-93044Niskie ryzyko· EPSS 9%
W jądrze Linux interpreter BPF nie obsługuje instrukcji związanych z areną, jednak mechanizm fallbacku interpretera był dla nich dozwolony, co prowadziło do trafienia w BUG_ON() w ___bpf_prog_run() w czasie wykonania. Poprawka ustawia jit_required na true, gdy w programie używana jest mapa arena, aby uniemożliwić fallback interpretera.
- CVE-2026-93043Niskie ryzyko· EPSS 9%
W jądrze Linux interpreter BPF nie rozpoznaje instrukcji BPF_JMP|BPF_JA|BPF_X używanej dla mapy insn_array, co prowadziło do trafienia w BUG_ON() w ___bpf_prog_run() w czasie wykonania. Poprawka ustawia jit_required na true, gdy w programie używana jest mapa insn_array, aby uniemożliwić fallback interpretera dla instrukcji gotox.
- CVE-2026-93042Wysokie
W jądrze Linux sterownik dmaengine dw-edma wywoływał vchan_cookie_complete() przy odroczonym STOP, co powodowało wywołanie callbacku dla aktywnego deskryptora i pozostawienie innych deskryptorów w kolejce. Późny callback po dmaengine_terminate_sync() mógł odwoływać się do zwolnionego stanu klienta, a pozostałe deskryptory mogły wznowić działanie na ponownie użytych buforach. Poprawka przenosi wszystkie wydane i zgłoszone deskryptory do listy zakończonych bez planowania callbacków.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

