Podatności Linux kernel
7563 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-93075Nieznane
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-93073Nieznane
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-93072Nieznane
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-93071Nieznane
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-93069Nieznane
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-93068Nieznane
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-93067Nieznane
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-93066Nieznane
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-93065Nieznane
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-93064Nieznane
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-93062Nieznane
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-93061Nieznane
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-93060Nieznane
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-93059Nieznane
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-93058Nieznane
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-93057Nieznane
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-93056Nieznane
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-93055Nieznane
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-93053Nieznane
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-93052Nieznane
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-93051Nieznane
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-93050Nieznane
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-93049Nieznane
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-93048Nieznane
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-93047Nieznane
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-93044Nieznane
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-93043Nieznane
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-93041Nieznane
W jądrze Linux w sterowniku dmaengine dw-edma funkcja dw_edma_abort_interrupt() zwalnia blokadę vc.lock przed aktualizacją stanu żądania i kanału. W tym oknie issue_pending() może odczytać stary stan zajętości i pominąć uruchomienie zakolejkowanych deskryptorów, a następnie procedura przerwania nadpisuje stan kanału jako bezczynny, trwale pozostawiając nowe deskryptory bez obsługi.
- CVE-2026-93040Nieznane
W jądrze Linux w sterowniku dmaengine dw-edma funkcje pause() i resume() odczytują i modyfikują stan kanału bez blokady vc.lock, podczas gdy procedury przerwania robią to pod nią. Może to doprowadzić do zapisania żądania pauzy na już bezczynnym kanale, którego żadne przerwanie nie potwierdzi, trwale zakleszczając kanał.
- CVE-2026-93038Nieznane
W jądrze Linux w sterowniku iio dac ad5686 brakuje sprawdzenia wskaźnika chip_info na wartość NULL. Jeśli użytkownik powiąże sterownik przez driver_override w sysfs z nazwą urządzenia nieobecną w id_table lub of_match_table, dane dopasowania będą NULL.
- CVE-2026-92524Nieznane
W jądrze Linux w sterowniku irqchip gic-v3-its funkcja its_vpe_irq_domain_alloc() nie wywołuje its_vpe_teardown() w ścieżce błędu, gdy its_irq_gic_domain_alloc() zawiedzie. Powoduje to wyciek zasobów przypisanych do danego przerwania.
- CVE-2026-92523Nieznane
W jądrze Linux w module RDMA nldev atrybut RDMA_NLDEV_ATTR_STAT_HWCOUNTERS jest atrybutem zagnieżdżonym, którego elementy podrzędne są odczytywane bezpośrednio przez nla_get_u32(). Polityka najwyższego poziomu waliduje tylko kontener, nie ustalając stałego rozmiaru każdego elementu podrzędnego.
- CVE-2026-92521Nieznane
W jądrze Linux w module ACPI PCI funkcja acpi_pci_root_add() przypisuje nowo przydzielony root do device->driver_data przed dmar_device_add() i pci_acpi_scan_root(). Tylko ścieżka pci_acpi_scan_root() czyści driver_data przed zwolnieniem root, więc gdy dmar_device_add() zawiedzie, pozostaje wiszący wskaźnik. Ten sam problem występuje w acpi_pci_root_remove().
- CVE-2026-92520Nieznane
W jądrze Linux w asystentach BPF dla kolejek i stosów (pop/peek) bufor wyjściowy nie był zerowany w przypadku nieudanego przejęcia zamka. Programy BPF mogły obserwować niezainicjalizowane dane ze stosu. Poprawka polega na wyzerowaniu bufora przed zwróceniem błędu -EBUSY.
- CVE-2026-92519Nieznane
W jądrze Linux dla architektury RISC-V w mechanizmie BPF JIT występuje wyciek pamięci. Gdy kompilacja JIT nie powiedzie się dla późniejszego podprogramu, funkcja bpf_jit_free() nie zwalnia tablicy offsetów kontekstu, co prowadzi do wycieku pamięci. Poprawka dodaje brakujące kfree.
- CVE-2026-92517Nieznane
W jądrze Linux dla RISC-V, w obsłudze wyjątków dla operacji load_acquire w BPF, brakuje wpisu w tablicy extable, co przy błędzie dostępu prowadzi do paniki (oops). Ponadto, w przypadku błędu rejestr rd nie jest zerowany, co może powodować wyciek danych przez mapę. Poprawka sprawdza warunek ret >= 0 przed dodaniem handlera i przekazuje rd dla LOAD_ACQ, aby przy błędzie wyzerować rejestr.
- CVE-2026-92516Nieznane
W jądrze Linux w mechanizmie BPF, w obsłudze instrukcji BPF_RES_SPIN_LOCK, sprawdzenie offsetu błędnie używa pola offset dla BPF_SPIN_LOCK zamiast res_spin_lock_off. Poprawka zmienia to sprawdzenie na właściwe pole.
- CVE-2026-92515Nieznane
W jądrze Linux w mechanizmie BTF, funkcja btf_find_struct_field() inicjalizuje nową maskę 'seen' przy każdym rekurencyjnym zejściu, co powoduje, że unikalne pola specjalne na różnych poziomach tej samej struktury nie są widziane wzajemnie. Może to prowadzić do duplikatów pól, które wyzwalają ostrzeżenie WARN_ON_ONCE() w btf_parse_fields(). Odpowiednio spreparowany BTF od użytkownika może wywołać to ostrzeżenie przed sprawdzeniem uprawnień. Poprawka inicjalizuje maskę raz i przekazuje ten sam wskaźnik przez całą trawersację.
- CVE-2026-92514Nieznane
W jądrze Linux w sterowniku RDMA/erdma występuje błąd use-after-free związany z taskletem CEQ podczas usuwania urządzenia. Funkcja free_irq() nie opróżnia taskletu już zaplanowanego przez handler przerwania, więc tasklet może uzyskać dostęp do zwolnionych buforów EQ (eq->qbuf lub eq->dbrec) po wywołaniu erdma_eq_destroy().
- CVE-2026-92513Nieznane
W jądrze Linux w module RDMA/mana_ib występuje błąd use-after-free podczas częściowego wstawiania tabeli QP. Funkcja mana_table_store_ud_qp() publikuje QP przed wstawieniem identyfikatora kolejki odbiorczej, zwalniając blokadę XArray, co pozwala równoległemu handlerowi ukończenia pobrać przejściową referencję; gdy druga operacja wstawiania się nie powiedzie, wycofywanie usuwa tylko wpis kolejki wysyłającej, pozostawiając referencje i prowadząc do use-after-free.
- CVE-2026-92512Nieznane
W jądrze Linux wykryto podatność use-after-free w funkcji ib_query_qp() w podsystemie RDMA/core. Problem wynika z nieprawidłowej synchronizacji podczas zapytania o QP przez netlink, gdy QP jest jednocześnie niszczony, co może prowadzić do dostępu do zwolnionej pamięci.
- CVE-2026-92509Nieznane
W jądrze Linux w podsystemie RDMA/core występuje potencjalny błąd use-after-free w funkcji counter_release(). Wywołanie rdma_restrack_del() następuje zbyt późno, przez co licznik pozostaje dostępny przez restrack, gdy powiązane zasoby specyficzne dla dostawcy są już zwalniane.
- CVE-2026-92506Nieznane
W jądrze Linux w podsystemie firmware arm_scmi występuje wyścig podczas usuwania żądanego urządzenia. Funkcja scmi_protocol_device_unrequest() zwalnia blokadę scmi_requested_devices_mtx podczas powiadamiania słuchaczy, zachowując wskaźnik do listy; gdy dwa sterowniki SCMI tego samego protokołu wyrejestrowują się równocześnie, jeden wątek może zwolnić nagłówek listy, a drugi użyć go po zwolnieniu lub zwolnić ponownie.
- CVE-2026-92505Nieznane
W jądrze Linux w podsystemie iommu/amd występuje niezdefiniowane zachowanie w funkcji debugfs devid_write. Gdy pętla for_each_pci_segment() zakończy się bez znalezienia pasującego segmentu, wskaźnik pci_seg nie jest NULL, lecz wskazuje na nagłówek listy, a dostęp do pci_seg->id po pętli powoduje niezdefiniowane zachowanie.
- CVE-2026-92503Nieznane
W jądrze Linux naprawiono zakleszczenie typu ABBA w funkcji ext4_xattr_inode_cache_find() występujące przy równoczesnych operacjach na rozszerzonych atrybutach (xattr) z opcją montowania ea_inode. Zakleszczenie powstawało między transakcją trzymającą referencję do wpisu mbcache a wątkiem usuwającym (eviction) ten sam i-węzeł EA. Rozwiązaniem jest nowa flaga EXT4_IGET_NOWAIT, która wykonuje nieblokujące wyszukiwanie i-węzła i zwraca -ENOENT zamiast oczekiwać na zakończenie usuwania lub tworzenia.
- CVE-2026-92500Nieznane
W jądrze Linux naprawiono błąd wyścigu w systemie plików ext4 dotyczący zapisu danych inline. Podczas równoczesnego zapisu i obsługi błędu strony (page fault) stan danych inline mógł zostać zmieniony między funkcjami write_begin i write_end, co prowadziło do dereferencji wskaźnika NULL lub utraty danych. Rozwiązanie polega na przekazywaniu stanu zapisu przez parametr fsdata oraz zastąpieniu krytycznego BUG_ON łagodną obsługą błędu z ponowieniem operacji.
- CVE-2026-92499Nieznane
W jądrze Linux naprawiono podatność w systemie plików ext4, gdzie uszkodzony katalog mógł wywołać błąd use-after-free (wykrywany przez KASAN) podczas wywołania ext4_readdir(). Funkcja ext4_dir_llseek() unieważnia cookie katalogu, co powoduje ponowne skanowanie wpisów, a uszkodzone pole rec_len może wskazać offset, w którym blok nie ma miejsca na pełny wpis katalogowy. Prowadzi to do odczytu poza zakresem bloku i potencjalnego dostępu do zwolnionej pamięci.
- CVE-2026-92498Nieznane
W jądrze Linux w sterowniku wifi ath6kl procedury obsługi zdarzeń WMI ath6kl_wmi_scan_complete_rx(), ath6kl_wmi_addba_req_event_rx() oraz ath6kl_wmi_delba_req_event_rx() odczytują dane z bufora zdarzenia bez uprzedniego sprawdzenia, czy komunikat jest wystarczająco duży. Poprawka dodaje kontrole długości zapobiegające nadczytowi bufora.
- CVE-2026-92497Nieznane
W jądrze Linux w sterowniku wifi ath12k funkcja ath12k_wmi_op_rx() odczytuje bufor firmware bez uprzedniego sprawdzenia, czy zawiera on wystarczającą ilość danych na nagłówek. Może to prowadzić do nadczytu bufora. Poprawka dodaje weryfikację, że bufor zawiera co najmniej nagłówek wmi_cmd_hdr przed odczytem.
- CVE-2026-92496Nieznane
W jądrze Linux w sterowniku wifi ath11k funkcja ath11k_wmi_tlv_op_rx() odczytuje bufor firmware bez uprzedniego sprawdzenia, czy zawiera wystarczającą ilość danych na nagłówek. Może to prowadzić do nadczytu bufora. Poprawka dodaje kontrolę długości przed potraktowaniem skb->data jako wmi_cmd_hdr, umieszczoną przed wywołaniem trace_ath11k_wmi_event() w celu zachowania istniejącej semantyki śledzenia.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

