Podatności Linux kernel
10 391 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2025-38426Średnie
W jądrze Linux sterownik drm/amdgpu dodał podstawową walidację nagłówka RAS. Jeśli nagłówek RAS odczytany z EEPROM jest uszkodzony, mogło to prowadzić do próby alokacji ogromnej ilości pamięci przy odczycie rekordów; dodano walidację pól nagłówka.
- CVE-2025-38360Średnie
W jądrze Linux w komponencie drm/amd/display dodano dodatkowe sprawdzenia gwarancji DSC / HUBP ONO. Dla niezerowych instancji DSC domena HUBP wymagana do sterowania nią w sekwencyjnych układach ONO może nie być spełniona, co potencjalnie powoduje niezdefiniowany stan logiki tile i zawieszenie systemu.
- CVE-2025-38353Średnie
W jądrze Linux w sterowniku drm/xe występuje błąd polegający na próbie wzięcia nieprawidłowej blokady podczas obsługi stanu wedge urządzenia. Jeśli urządzenie zawiesi się np. podczas ładowania GuC, wywołanie wedge próbuje użyć niezainicjalizowanej blokady, co powoduje ostrzeżenie DEBUG_LOCKS_WARN_ON.
- CVE-2025-38340Wysokie
W jądrze Linux w komponencie firmware: cs_dsp naprawiono podatność polegającą na odczycie pamięci poza zakresem w teście KUnit. KASAN wykrył dostęp poza granice w funkcji cs_dsp_mock_bin_add_name_or_info, ponieważ długość ciągu źródłowego została zaokrąglona w górę do rozmiaru alokacji.
- CVE-2025-38330Wysokie
W jądrze Linux w komponencie firmware: cs_dsp naprawiono błąd dostępu poza granice pamięci (OOB) w teście KUnit (pamięć podręczna ctl). Kod używał `mock_coeff_template.length_bytes` (4 bajty) do alokacji wartości rejestru, ale później długość była ustawiana na 8 bajtów, co powodowało błędy testu. Poprawka usuwa nadpisanie długości, zachowując oryginalną wartość 4 dla wszystkich operacji.
- CVE-2025-38329Wysokie
W jądrze Linux w komponencie firmware: cs_dsp naprawiono podatność polegającą na odczycie pamięci poza zakresem w teście KUnit (wmfw info). KASAN wykrył dostęp poza granice w funkcji cs_dsp_mock_wmfw_add_info, ponieważ długość ciągu źródłowego została zaokrąglona w górę do rozmiaru alokacji.
- CVE-2025-38311Średnie
W jądrze Linux w sterowniku iavf usunięto mechanizm blokady crit_lock, który powodował zakleszczenia (deadlocki) podczas usuwania i resetowania wirtualnej funkcji (VF). Zamieniono go na blokadę netdev_lock oraz zmieniono sposób anulowania zadań roboczych, aby uniknąć błędów synchronizacji.
- CVE-2025-38207Średnie
W jądrze Linux występuje błąd w obsłudze uprobe, który może prowadzić do nadpisania wpisu PTE (page table entry) podczas rozszerzania VMA (obszaru pamięci wirtualnej). W wyniku operacji mremap i scalania VMA dochodzi do osierocenia wpisu PTE, co powoduje ostrzeżenie 'Bad rss-counter state' i może prowadzić do niezgodności liczników pamięci.
- CVE-2025-38199Średnie
W jądrze Linux w sterowniku wifi ath12k występuje wyciek pamięci związany z wielokrotną alokacją rx_stats przy wielokrotnym dodawaniu tej samej stacji. Funkcja ath12k_mac_station_add() alokuje rx_stats za każdym razem, nie sprawdzając, czy został już przydzielony.
- CVE-2025-38188Średnie
W jądrze Linux w sterowniku drm/msm/a7xx brakuje wywołania pakietu CP_RESET_CONTEXT_STATE przy przełączaniu kontekstów. Stan używany przez przestrzeń użytkownika do synchronizacji między BR i BV nie jest resetowany, co może powodować nieprawidłowe działanie innego kontekstu.
- CVE-2025-38140Średnie
W jądrze Linux w module dm (device mapper) naprawiono błąd w funkcji dm_revalidate_zones(), która nie aktualizowała poprawnie ustawień strefowych urządzenia przy przeładowaniu tabeli, jeśli urządzenie miało już zasoby zone write plug. Prowadziło to do niezgodności rozmiaru bitmapy conv_zones_bitmap i błędów odczytu nieprawidłowej pamięci. Rozwiązanie ogranicza przeładowania tabel zmieniające ustawienia strefowe dla urządzeń z przydzielonymi zasobami zone plug.
- CVE-2025-38091Wysokie
W jądrze Linux naprawiono podatność w module drm/amd/display, gdzie brak prawidłowego sprawdzenia identyfikatora strumienia w wrapperze DML21 podczas pobierania plane_id powodował fałszywe ostrzeżenie przy resecie trybu (np. amdgpu_gpu_recover). Ostrzeżenie występowało w funkcji dml2_map_dc_pipes i było wynikiem niepoprawnej weryfikacji, a nie rzeczywistego błędu krytycznego.
- CVE-2022-50232Średnie
W jądrze Linux rozwiązano podatność: na architekturze arm64 nie ustawiano bitu UXN w tablicach stron swappera. W systemie implementującym FEAT_EPAN dostęp do idmap jest odmawiany, ponieważ UXN nie jest ustawiony na PTE swappera; w rezultacie idmap_kpti_install_ng_mappings powoduje panikę jądra przy dostępie do __idmap_kpti_flag. Poprawka polega na ustawieniu UXN na tych PTE.
- CVE-2022-50230Średnie
W jądrze Linux rozwiązano podatność: arm64: set UXN on swapper page tables. W systemie implementującym FEAT_EPAN dostęp do odczytu/zapisu idmap jest zabroniony, ponieważ UXN nie jest ustawiony na stronach tablicy swapper. W rezultacie idmap_kpti_install_ng_mappings powoduje panikę jądra podczas dostępu do __idmap_kpti_flag. Naprawiono to poprzez ustawienie UXN na tych PTE.
- CVE-2022-50090Wysokie
W jądrze Linux w podsystemie btrfs występuje błąd polegający na tym, że liczba extentów jest szacowana na podstawie stałej BTRFS_MAX_EXTENT_SIZE, a nie rzeczywistego limitu fs_info->max_extent_size. Na systemach plików zoned, gdzie BTRFS_MAX_EXTENT_SIZE jest większy niż max_zone_append_size, dochodzi do znacznego zwiększenia liczby extentów i wyczerpania rezerwacji metadanych, co prowadzi do ostrzeżenia i potencjalnej awarii.
- CVE-2025-38070Średnie
W jądrze Linux w komponencie ASoC sma1307 brakuje sprawdzenia NULL w funkcji sma1307_setting_loaded(). Wskaźniki przydzielone przez kzalloc i devm_kzalloc mogą być NULL, co może prowadzić do dereferencji NULL.
- CVE-2025-38047Średnie
W jądrze Linux rozwiązano podatność w obsłudze x86/fred: system zawieszał się podczas wznawiania z S4 przy włączonym FRED. Po wybudzeniu jądro przywracające inicjalizowało rejestry FRED MSR, a jądro obrazu hibernacji nie przywracało ich wartości sprzed hibernacji, co prowadziło do zawieszenia.
- CVE-2025-38038Średnie
W jądrze Linux w sterowniku cpufreq amd-pstate funkcja set_boost używa niepotrzebnej blokady driver_lock. Blokada ta może kolidować z blokadą w ścieżce przełączania trybu w status_store(), co może prowadzić do zakleszczenia.
- CVE-2025-38036Średnie
W jądrze Linux rozwiązano podatność w drm/xe/vf: wczesna inicjalizacja GT MMIO jest potrzebna do odczytu GMDID. Z powodu refaktoryzacji gt->mmio było inicjalizowane później, a próby użycia xe_mmio_read/write z funkcji GuC przez VF prowadziły do awarii NPD z powodu nieustawionego adresu rejestru MMIO.
- CVE-2025-38033Średnie
W jądrze Linux rozwiązano podatność związaną z niekompatybilnością Rusta z mechanizmem FineIBT (CFI). Wywołanie core::fmt::write() z kodu Rust przy włączonym FineIBT powoduje panikę jądra z powodu naruszenia Control Flow Integrity. Poprawka polega na uzależnieniu CFI_AUTO_DEFAULT od braku Rusta lub wersji Rust >= 1.88.
- CVE-2025-37907Średnie
W jądrze Linux w sterowniku accel/ivpu występuje zakleszczenie (deadlock) w funkcji ivpu_job_submit z powodu odwrotnej kolejności blokad. Wątek przerywający zadania bierze najpierw blokadę submitted_jobs, a następnie file_priv, podczas gdy wątek zgłaszający zadania bierze je w odwrotnej kolejności.
- CVE-2025-37880Średnie
W jądrze Linux rozwiązano podatność w trybie time-travel UML, gdzie sched_yield wywołane przez przestrzeń użytkownika może nie powodować przełączenia kontekstu, ponieważ czas nie upłynął. Może to prowadzić do ekstremalnego spowolnienia lub zakleszczenia w zależności od konfiguracji jądra (CONFIG_UML_MAX_USERSPACE_ITERATIONS). Obejście polega na naliczaniu czasu procesowi przy każdym wywołaniu sched_yield.
- CVE-2025-37877Średnie
W jądrze Linux w podsystemie iommu nie wyczyszczono operacji iommu-dma przy sprzątaniu po błędzie iommu_device_register(). Może to pozostawić urządzenia podłączone do iommu-dma i prowadzić do awarii w iommu-dma.
- CVE-2025-37870Średnie
W jądrze Linux w sterowniku drm/amd/display naprawiono błąd, który powodował zawieszenie systemu, gdy szkolenie łącza (link training) zakończyło się niepowodzeniem. Funkcja enable_streams zakładała sukces szkolenia i wybierała zegar PHY, co przy nieudanym szkoleniu prowadziło do zawieszenia przy zapisie rejestru.
- CVE-2025-37855Średnie
W jądrze Linux rozwiązano podatność: drm/amd/display: Guard Possible Null Pointer Dereference. W niektórych sytuacjach dc->res_pool może być NULL. Dodano sprawdzenie, czy wskaźnik nie jest NULL przed dereferencją.
- CVE-2025-37834Średnie
W jądrze Linux występuje błąd w mechanizmie odzyskiwania pamięci (mm/vmscan), który próbuje odzyskać strony oznaczone jako hwpoison (uszkodzone sprzętowo). Prowadzi to do wyzwolenia VM_BUG_ON_FOLIO w funkcji add_to_swap, gdy strona hwpoison pozostaje na liście LRU z wyczyszczoną flagą uptodate. Poprawka polega na pomijaniu stron hwpoison w shrink_folio_list() oraz ich wcześniejszym odmapowaniu.
- CVE-2025-37746Średnie
W jądrze Linux rozwiązano podatność w perf/dwc_pcie polegającą na błędnym użyciu struktury device pci_dev jako platform_data podczas platform_device_register, co powodowało kopię kmemdup pci_dev i prowadziło do uszkodzenia listy z powodu współdzielenia mutexa i zawartości listy z oryginałem.
- CVE-2025-23162Średnie
W jądrze Linux w komponencie drm/xe/vf wykryto błąd, który powoduje, że funkcja wirtualna (VF) próbuje wywołać pełny reset GT, mimo że nie ma dostępu do rejestru GDRST. Próba resetu przez debugfs lub w wyniku wykrycia zawieszenia prowadzi do ostrzeżenia jądra i śladu stosu. Poprawka polega na wysłaniu akcji H2G VF_RESET zamiast bezpośredniego resetu.
- CVE-2025-40014Wysokie
W jądrze Linux występuje podatność w funkcji amd_set_spi_freq() sterownika SPI, która może prowadzić do dostępu poza granice stosu. Gdy speed_hz jest mniejsze niż AMD_SPI_MIN_HZ, pętla iteruje poza tablicę amd_spi_freq, powodując niezdefiniowane zachowanie.
- CVE-2025-23135Średnie
W jądrze Linux występuje problem w module KVM dla architektury RISC-V: podczas usuwania modułu funkcja aia_exit jest wywoływana przed kvm_exit, co powoduje, że przerwanie per-CPU AIA nie zostaje poprawnie wyłączone. Skutkuje to ostrzeżeniem jądra i niespójnym stanem IRQ, uniemożliwiając ponowne załadowanie modułu KVM.
- CVE-2025-22116Średnie
W jądrze Linux sterownik idpf ignoruje kod błędu zwracany przez register_netdev() podczas inicjalizacji. W efekcie przy próbie wyrejestrowania interfejsu sieciowego dochodzi do ostrzeżenia WARN_ON(), a użytkownik nie otrzymuje informacji o niepowodzeniu utworzenia netdev.
- CVE-2025-22002Średnie
W jądrze Linux w podsystemie netfs występuje luka, która powoduje wywołanie niezaimplementowanej metody `invalidate_cache` w systemach plików takich jak NFS i Ceph. Gdy zapis do pamięci podręcznej (NETFS_WRITE_TO_CACHE) nie powiedzie się, jądro próbuje wywołać wskaźnik NULL, co prowadzi do awarii (oops) i zawieszenia systemu.
- CVE-2025-21907Średnie
W jądrze Linux naprawiono błąd w mechanizmie obsługi błędów pamięci (memory-failure), dotyczący migracji zatrutych stron (poisoned folio). Podczas odmapowywania zatrutej strony nie ustawiano prawidłowo flagi TTU_HWPOISON, co powodowało ostrzeżenie jądra w funkcji try_to_unmap_one. Poprawka przenosi odpowiednią politykę ustawiania flagi do funkcji unmap_poisoned_folio.
- CVE-2025-21819Średnie
W jądrze Linux wycofano zmianę "drm/amd/display: Use HW lock mgr for PSR1", ponieważ może ona powodować zawieszanie się systemu przy podłączeniu dwóch paneli eDP.
- CVE-2025-21752Średnie
W jądrze Linux w podsystemie btrfs wykryto błąd polegający na używaniu funkcji btrfs_set_item_key_safe() do modyfikacji kluczy w drzewie RAID stripe-extents. Może to prowadzić do uszkodzenia drzewa i wywołania krytycznego błędu jądra (kernel BUG) podczas operacji na extentach RAID. Problem został naprawiony przez zastąpienie tej funkcji mechanizmem kopiowania elementu i bezpiecznej modyfikacji klucza oraz adresów fizycznych.
- CVE-2025-21751Wysokie
W jądrze Linux w sterowniku net/mlx5 (HWS) naprawiono błąd use-after-free występujący, gdy podczas odłączania matchera wystąpi awaria firmware. W takim przypadku funkcja próbowała ponownie podłączyć matcher i zwracała błąd, co prowadziło do zwolnienia matchera wciąż znajdującego się na liście matcherów, a w konsekwencji do use-after-free i awarii systemu. Poprawka polega na niepróbowaniu ponownego podłączenia matchera, gdy polecenie firmware zawiedzie podczas odłączania.
- CVE-2024-58015Wysokie
W jądrze Linux w sterowniku wifi ath12k występuje błąd dostępu poza granice bufora. Funkcja print_array_to_buf_index() otrzymuje zbyt duży parametr długości tablicy, co może prowadzić do błędu pamięci poza zakresem. Zmniejszenie rozmiaru bufora o jeden naprawia błędną górną granicę przekazywanej tablicy.
- CVE-2024-57852Średnie
W jądrze Linux rozwiązano podatność w firmware: qcom: scm: smc: obsługa brakującego urządzenia SCM. Ponieważ qcom_scm_get_tzmem_pool() może zwrócić NULL, użytkownicy tej funkcji powinni obsługiwać ten przypadek.
- CVE-2025-21693Wysokie
W jądrze Linux w podsystemie zswap występuje błąd use-after-free (UAF) związany z per-CPU strukturą acomp_ctx. Podczas kompresji lub dekompresji nie jest wyłączona preempcja ani migracja, więc operacja może być kontynuowana na innym CPU. Jeśli pierwotny CPU zostanie odłączony (hotunplug), zasoby acomp_ctx mogą zostać zwolnione, podczas gdy są nadal używane, co prowadzi do UAF.
- CVE-2024-57950Średnie
W jądrze Linux w module drm/amd/display zmienne używane jako mianowniki, które mogą nie być przypisane do innych wartości, nie były inicjalizowane na wartość niezerową. Może to prowadzić do błędu dzielenia przez zero (DIVIDE_BY_ZERO), zgodnie z raportem Coverity.
- CVE-2024-57922Średnie
W jądrze Linux rozwiązano podatność w drm/amd/display polegającą na braku sprawdzenia ziarnistości w funkcjach pomocniczych dml ceil/floor, co mogło prowadzić do asercji i błędu dzielenia przez zero w funkcjach dcn_bw_. Dodano sprawdzenie, czy ziarnistość jest różna od zera.
- CVE-2024-57857Wysokie
W jądrze Linux w module RDMA/siw usunięto bezpośrednie odwołanie do net_device, które było nieprawidłowo zarządzane i powodowało wyjątek 'KASAN: slab-use-after-free' podczas wywołania siw_query_port().
- CVE-2024-57809Średnie
W jądrze Linux naprawiono podatność w sterowniku PCI imx6, gdzie obsługa suspend/resume była zepsuta na platformie i.MX6QDL. Bez poprawki zawieszenie/wznowienie kończyło się zawieszeniem jądra i błędem, jeśli podłączone było urządzenie PCIe.
- CVE-2024-56702Średnie
W jądrze Linux weryfikator BPF błędnie zakładał, że argumenty raw tracepointów są zawsze nie-NULL, podczas gdy w rzeczywistości mogą być NULL. Prowadziło to do usuwania jawnych sprawdzeń NULL i potencjalnych awarii jądra przy dostępie do takich wskaźników. Poprawka oznacza argumenty raw_tp jako PTR_MAYBE_NULL i dostosowuje obsługę dereferencji oraz przekazywania do helperów/kfuncs.
- CVE-2024-56671Średnie
W jądrze Linux rozwiązano podatność w gpio: graniterapids polegającą na awarii sterownika vGPIO podczas rozruchu z powodu nieautoryzowanej modyfikacji pola irq_chip.name, gdy struktura irq_chip była zainicjowana jako const. Przeniesiono ustawianie irq_chip.name z funkcji probe() do inicjalizacji struktury irq_chip.
- CVE-2024-56617Średnie
W jądrze Linux występuje luka polegająca na tym, że w niektórych architekturach (np. x86) pamięć dla struktury cacheinfo nie jest alokowana podczas wczesnego rozruchu. W wyniku tego, podczas obsługi hotplug CPU, funkcja last_level_cache_is_valid() próbuje odwołać się do wskaźnika NULL, co prowadzi do błędu jądra (oops).
- CVE-2024-56544Średnie
W jądrze Linux w module udmabuf zmieniono tablicę folios z kmalloc na kvmalloc, ponieważ przy dużych rozmiarach alokacji kmalloc może zawieść i zwrócić NULL, powodując ostrzeżenie i niepowodzenie tworzenia bufora. Poprawka umożliwia fallback do vmalloc, gwarantując alokację dowolnego rozmiaru.
- CVE-2024-53098Wysokie
W jądrze Linux w komponencie drm/xe/ufence dodano wstępne odczytanie adresu ufence, aby wykryć nieprawidłowe adresy. Funkcja access_ok() sprawdza jedynie przepełnienie adresu, więc dodatkowy odczyt pozwala wykryć nieprawidłowy adres przesłany z przestrzeni użytkownika.
- CVE-2024-53064Średnie
W jądrze Linux rozwiązano podatność w sterowniku idpf: naprawiono ścieżkę błędu idpf_vc_core_init. W przypadku restartu platformy kontrolnej sterownik wykrywa reset, zwalnia zasoby i czeka na zakończenie resetu. Jeśli platforma nie jest jeszcze uruchomiona, sterownik przekracza limit czasu komunikatu virtchnl i ponawia próbę ustanowienia skrzynki pocztowej. W procedurze ponawiania skrzynka jest deinicjalizowana, ale kolejka robocza wciąż działa, co prowadzi do dereferencji null.
- CVE-2024-50102Średnie
W jądrze Linux występuje problem ze spekulacją przy dostępie do niekanonicznych adresów na procesorach AMD Zen 5. Ze względu na zmianę nazewnictwa bitu AC okno spekulacji pozostaje otwarte, co może prowadzić do wycieku danych spekulatywnych przez odpowiedni gadżet. Podatność dotyczy maskowania adresów użytkownika oraz sprawdzeń valid_user_address() i get_user().
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

