Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-89951Wysokie
W module batman-adv jądra Linux ponowne składanie fragmentów używa skb z fragmentu o najwyższym numerze, a gdy interfejs, na którym go odebrano, zostanie usunięty przed zakończeniem łańcucha, scalony pakiet może ponownie wejść do ścieżki odbioru ze starym skb->dev i skb_iif. Może to prowadzić do użycia zwolnionego obiektu net_device. Poprawka odświeża metadane urządzenia odbiorczego przed uruchomieniem procedur obsługi pakietu.
- CVE-2026-89950Niskie ryzyko· EPSS 9%
W module batman-adv jądra Linux funkcje batadv_mcast_forw_packet() i batadv_mcast_forw_scrape() mogą być wywołane pośrednio przez batadv_mcast_forw_mcsend() bez linearyzacji skb, co powoduje uruchomienie SKB_LINEAR_ASSERT() i krytyczny błąd BUG(). Linearyzacja powinna następować podczas rozszerzania nagłówka. Poprawka zapewnia prawidłową linearyzację bufora.
- CVE-2026-89949Niskie ryzyko· EPSS 11%
W module batman-adv jądra Linux niezależnie od wyrównania pakietu ARP w SKB, odczyt batadv_arp_ip_src lub batadv_arp_ip_dst może powodować nieprawidłowy dostęp do niez wyrównanych danych na sprzęcie bez natywnego wsparcia. Poprawka używa get_unaligned() do prawidłowej obsługi na wszystkich architekturach.
- CVE-2026-89948Niskie ryzyko· EPSS 11%
W module batman-adv jądra Linux podczas usuwania interfejsu mesh funkcja batadv_bla_del_backbone_claims() nie jest wykonywana, ponieważ batadv_bla_free() ustawia claim_hash na NULL przed wywołaniem, co uniemożliwia zwolnienie wszystkich claims. Dodatkowo batadv_handle_unclaim() może nie znaleźć odpowiedniego backbone z powodu braku obsługi rehashingu. Poprawka upraszcza proces zwalniania claims.
- CVE-2026-89947Wysokie
W jądrze Linux wykryto podatność polegającą na odczycie poza zakresem pamięci (out-of-bounds read) w sterowniku zegarów dla platform Amlogic GXBB. Problem wynika z nieaktualnej, zakodowanej na stałe liczby rodziców zegara gxbb_32k_clk_sel, co prowadzi do błędu KASAN podczas rejestracji zegara. Poprawka polega na użyciu makra ARRAY_SIZE zamiast twardo wpisanej wartości.
- CVE-2026-89946Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku ASoC cs35l33 funkcja cs35l33_runtime_suspend() przełącza kodek w tryb regcache_cache_only(true) i wyłącza go bez uprzedniego wyciszenia wątkowego przerwania IRQ zarejestrowanego przez devm_request_threaded_irq(). Powstaje okno, w którym cs35l33_irq_thread() może nadal działać po wyłączeniu dostępu do rejestrów, odczytując ulotne rejestry INT_STATUS_1/2 i wykonując ścieżki zwalniania AMP_SHORT_RLS, CAL_ERR_RLS, OTE_RLS i OTW_RLS.
- CVE-2026-89945Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku ASoC cs35l34 funkcja cs35l34_runtime_suspend() przełącza kodek w tryb regcache_cache_only(true), ustawia reset w stan niski i wyłącza urządzenie bez uprzedniego wyciszenia wątkowego przerwania IRQ zarejestrowanego przez devm_request_threaded_irq(). Powstaje okno, w którym cs35l34_irq_thread() może nadal działać po usunięciu dostępu do sprzętu, odczytując ulotne rejestry INT_STATUS_1..4 i wykonując sekwencję PROT_RELEASE_CTL lub zapisy wyłączające zasilanie przy błędzie BST.
- CVE-2026-89944Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku ASoC hdac_hda funkcja hdac_hda_dev_probe() pobiera referencję do łącza HDA przez snd_hdac_ext_bus_link_get() przed rejestracją komponentu ASoC. Jeśli rejestracja komponentu się nie powiedzie, funkcja zwraca błąd bez zwolnienia referencji do łącza, co powoduje wyciek referencji.
- CVE-2026-89943Wysokie
W jądrze Linux w sterowniku ASoC loongson funkcja loongson_card_parse_acpi() ignoruje wartość zwracaną przez device_property_read_string() dla właściwości `codec-dai-name`. Jeśli właściwość jest brakująca lub nieprawidłowa, używany jest później niezainicjalizowany wskaźnik, co może prowadzić do niezdefiniowanego zachowania.
- CVE-2026-89942Wysokie
W jądrze Linux w podsystemie IIO buffer uchwyt anonimowego bufora przechowuje referencję do urządzenia IIO, która jest zwalniana w funkcji zwalniającej uchwyt bufora. Jeśli urządzenie zostało usunięte (unbind lub hot-unplug), uchwyt bufora może posiadać ostatnią referencję. Funkcja zwalniająca używa strażnika mutexa, co powoduje odblokowanie po iio_device_put(), co może zwolnić zarówno urządzenie IIO, jak i bufor zawierający mutex, prowadząc do use-after-free przy odblokowywaniu mutexa.
- CVE-2026-89941Wysokie
W jądrze Linux w podsystemie IIO buffer implementacja iio_dma_fence używa kfree() do zwolnienia obiektu dma_fence, co jest niezgodne z dokumentacją dma_fence wymagającą zwalniania w sposób bezpieczny dla RCU. Może to prowadzić do use-after-free.
- CVE-2026-89940Wysokie
W jądrze Linux w podsystemie IIO buffer implementacja iio_dma_fence używa blokady osadzonej w iio_dmabuf_priv, ale iio_dma_fence może przeżyć iio_dmabuf_priv, co może powodować use-after-free. Poprawka wiąże czas życia blokady z czasem życia fence poprzez osadzenie ich w tej samej strukturze.
- CVE-2026-89939Niskie ryzyko· EPSS 10%
W jądrze Linux w sterowniku IIO chemical atlas-sensor funkcja atlas_buffer_postenable() pobiera referencję runtime PM przez pm_runtime_resume_and_get(), ale zwraca wynik atlas_set_interrupt() bezpośrednio. Jeśli atlas_set_interrupt() zawiedzie, referencja runtime PM wycieka i urządzenie nigdy nie może przejść w autosuspend.
- CVE-2026-89938Wysokie
W jądrze Linux w sterowniku IIO chemical atlas-sensor sterownik rejestruje przerwanie IRQ danych przez devm_request_threaded_irq(), którego wątkowy handler kolejkuje irq_work wywołujący iio_trigger_poll(data->trig). Ponieważ IRQ jest zarządzane przez devm, free_irq() jest wywoływane po atlas_remove() bez opróżnienia irq_work, co może prowadzić do use-after-free, gdy atlas_work_handler() używa wskaźnika atlas_data po zwolnieniu.
- CVE-2026-89937Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku IIO chemical sgp30 funkcja sgp_probe() przechowuje wskaźnik błędu zwrócony przez kthread_run() i zwraca sukces, rejestrując urządzenie bez wątku IAQ. Później sgp_remove() przekazuje wskaźnik błędu do kthread_stop(), co może prowadzić do problemów.
- CVE-2026-89936Niskie ryzyko· EPSS 11%
W jądrze Linux sterownik przetwornika cyfrowo-analogowego m62332 nie śledzi aktualnego stanu kanału przy włączaniu i wyłączaniu regulatora Vcc. Powoduje to niezrównoważenie licznika referencji regulatora, który pozostaje włączony na stałe po zmianie wartości kanału z jednej niezerowej na inną.
- CVE-2026-89935Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja apds9306_read_data() w sterowniku czujnika światła apds9306 wywołuje pm_runtime_resume_and_get(), ale w kilku ścieżkach błędów zwraca wynik bez zwolnienia referencji runtime PM. Powoduje to wyciek referencji i uniemożliwia automatyczne uśpienie urządzenia.
- CVE-2026-89934Niskie ryzyko· EPSS 11%
W jądrze Linux funkcja ltrf216a_get_lux() w sterowniku czujnika światła ltrf216a pozyskuje referencję runtime PM, ale w przypadku niepowodzenia ltrf216a_read_data() zwraca wynik bez jej zwolnienia. Prowadzi to do niezrównoważenia licznika użycia runtime PM i uniemożliwia autosuspend urządzenia po nieudanym odczycie.
- CVE-2026-89933Niskie ryzyko· EPSS 10%
W jądrze Linux sterownik czujnika ciśnienia dps310 ulega awarii podczas próby ACPI, gdy urządzenie jest wyliczane przez HID ACPI (IFX3100). Funkcja i2c_client_get_device_id() zwraca NULL, a dps310_probe() dereferencjonuje ten wskaźnik, powodując awarię jądra.
- CVE-2026-89932Wysokie
W jądrze Linux moduł KVM nVMX nie opróżnia vpid02 przy pierwszym użyciu, ponieważ last_vpid nie jest resetowane przy zwalnianiu vpid02 podczas VMXOFF. Może to prowadzić do użycia nieaktualnych wpisów TLB z poprzedniego okresu życia VPID, powiązanych z innym vCPU lub maszyną wirtualną.
- CVE-2026-89931Niskie ryzyko· EPSS 10%
W jądrze Linux moduł KVM nVMX nie zawsze czyści flagi KVM_REQ_GET_NESTED_STATE_PAGES podczas emulacji zagnieżdżonego VM-Exit, zwłaszcza gdy KVM jest zbudowane z CONFIG_KVM_HYPERV=n. Może to prowadzić do podwójnego mapowania stron vmcs12, jeśli KVM przerwie VM-Enter bez przetworzenia żądania.
- CVE-2026-89929Wysokie
W jądrze Linux moduł KVM nVMX może wykonać INVVPID na innym fizycznym CPU niż ten, na którym działa L2. Może to prowadzić do nieunieważnienia wpisów TLB na właściwym CPU, jeśli L1 migruje między CPU.
- CVE-2026-89928Wysokie
W jądrze Linux w mechanizmie KVM (x86/mmu) występuje luka use-after-free w ścieżce starzenia się wpisów rmap. Gdy zapisywacz wypełni rmap pomiędzy odczytem blokady a ponownym odczytem iteratora, ścieżka bez blokady przechodzi po nowo utworzonej strukturze rmap bez jej zablokowania. Może to doprowadzić do zwolnienia łańcucha pte_list_desc przez kmem_cache_free() w trakcie trwania przejścia i użycia zwolnionej pamięci (slab use-after-free).
- CVE-2026-89927Wysokie
W jądrze Linux występuje błąd w emulacji syntetycznych timerów Hyper-V w KVM (x86). Gdy gość lub przestrzeń użytkownika ustawi licznik timera (COUNT) na wartość bliską U64_MAX, obliczenie terminu może spowodować przepełnienie i wygaśnięcie timera natychmiast, prowadząc do zapętlenia CPU (livelock) i zgłoszenia RCU stall.
- CVE-2026-89926Niskie ryzyko· EPSS 11%
W jądrze Linux w KVM dla s390 wykryto podatność polegającą na nieprawidłowej walidacji długości w funkcji __import_wp_info(). Pole len w struct kvm_hw_breakpoint jest kontrolowane przez użytkownika i może być większe niż int, co prowadzi do alokacji pamięci na podstawie niezatwierdzonej wartości, co może skutkować nieudaną alokacją i ostrzeżeniem WARN.
- CVE-2026-89925Niskie ryzyko· EPSS 11%
W jądrze Linux w KVM dla s390 występuje wyciek pamięci w obsłudze debugowania gościa. Funkcja bp_data jest zwalniana tylko w przypadku błędu, a każda udana operacja KVM_SET_GUEST_DEBUG powoduje wyciek pamięci.
- CVE-2026-89924Niskie ryzyko· EPSS 11%
W jądrze Linux w KVM dla s390 występuje wyciek pamięci w ścieżce błędu debugowania gościa. Funkcja __import_wp_info() alokuje bufory old_data dla punktów obserwacyjnych, ale jeśli późniejszy punkt obserwacyjny nie zostanie zaimportowany, bufory te nie są zwalniane, co prowadzi do wycieku pamięci przy powtarzanych żądaniach.
- CVE-2026-89923Niskie ryzyko· EPSS 11%
W jądrze Linux w KVM dla s390 występuje wyciek pamięci przy niszczeniu vCPU. Dane debugowania gościa (hw_bp_info, hw_wp_info i bufory old_data) nie są zwalniane, gdy vCPU jest niszczony, co prowadzi do nieograniczonego wycieku pamięci w czasie życia maszyn wirtualnych.
- CVE-2026-89922Wysokie
W jądrze Linux w KVM dla s390 występuje problem z brakiem trzymania srcu podczas importowania danych punktów obserwacyjnych. Funkcja __import_wp_info() odczytuje pamięć gościa, co wymaga trzymania kvm->srcu, aby uniknąć wyścigu z aktualizacją memslotów, co może prowadzić do użycia po zwolnieniu.
- CVE-2026-89921Niskie ryzyko· EPSS 11%
W jądrze Linux w KVM dla s390 występuje problem z niezainicjalizowanymi danymi w strukturach używanych do wstrzykiwania przerwań. Funkcja __kvm_inject_pfault_token() nie zeruje całej struktury, co może prowadzić do wycieku danych ze stosu do migracji.
- CVE-2026-89920Wysokie
W jądrze Linux w KVM dla s390 występuje podatność na uszkodzenie pamięci spowodowana ponownym wstrzykiwaniem maszyn checków CK. Maszyny checki dotyczące uszkodzenia podsystemu kanałowego nie powinny być przekazywane do gościa, a ich ponowne wstrzykiwanie może prowadzić do kfree zmiennej stosowej.
- CVE-2026-89919Wysokie
W jądrze Linux w KVM dla s390 występuje problem z odczytem gmap->asce bez trzymania mmu_lock w operacji keyop. Inne funkcje czytają to pole wewnątrz sekcji czytelniczej mmu_lock, ale keyop tego nie robi, co może prowadzić do użycia nieaktualnej wartości i uszkodzenia pamięci.
- CVE-2026-89917Niskie ryzyko· EPSS 10%
W jądrze Linux w KVM dla arm64 występuje wyścig między unieważnianiem TLB VNCR a operacją vcpu_put() podczas odmapowywania strony VNCR. Może to prowadzić do wzorca TOCTOU i wywołania BUG_ON(), co może skutkować awarią systemu.
- CVE-2026-89913Wysokie
W jądrze Linux w KVM na arm64 funkcja vgic_v3_save_pending_tables() iteruje po dist->lpi_xa bez utrzymywania referencji do struktur vgic_irq, polegając jedynie na tymczasowym zabezpieczeniu RCU. Równoległa ścieżka może zwolnić LPI, powodując użycie zwisającego wskaźnika po zakończeniu okresu RCU. Poprawka polega na ponownym pobraniu każdego LPI przez vgic_get_irq() i zwolnieniu go przez vgic_put_irq().
- CVE-2026-89912Wysokie
W jądrze Linux w KVM na arm64 funkcja vgic_its_save_ite() bezwarunkowo dereferencjonuje ite->collection, które może być NULL po operacji MAPC z V=0. Gość wykonujący MAPD, MAPTI, a następnie MAPC(V=0) może spowodować błąd jądra (oops) podczas migracji, gdy VMM wywoła KVM_DEV_ARM_ITS_SAVE_TABLES. Poprawka zapisuje wyzerowany wpis, który przy odtwarzaniu jest traktowany jako nieprawidłowy.
- CVE-2026-89911Wysokie
W jądrze Linux w KVM na arm64 unieważnianie TLB zakresowe (TLBI Range) może kodować duże zakresy w małej liczbie bitów, co pozwala gościowi łatwo wygenerować przepełnienie, jeśli hipervisor naiwnie doda zakres do adresu bazowego. Poprawka ogranicza zakres do limitu wynikającego z bitu adresowego określającego zakres VA, a dla unieważniania IPA dodatkowo ignoruje górny zakres.
- CVE-2026-89910Wysokie
W jądrze Linux w KVM na architekturze LoongArch zmienna vector[] zadeklarowana na stosie w funkcji dmsintc_inject_irq() jest czasami używana bez inicjalizacji. Poprawka inicjalizuje tę zmienną, aby uniknąć użycia niezainicjalizowanych danych.
- CVE-2026-89909Niskie ryzyko· EPSS 10%
W jądrze Linux w KVM na architekturze LoongArch funkcja kvm_loongarch_init() wywołuje kvm_loongarch_env_init() w celu alokacji zasobów, a następnie kvm_init(). Jeśli kvm_init() zawiedzie, zasoby nie są zwalniane, ponieważ module_exit() nie jest wywoływane przy błędzie inicjalizacji modułu. Poprawka wywołuje kvm_loongarch_env_exit() w przypadku niepowodzenia kvm_init().
- CVE-2026-89908Wysokie
W jądrze Linux w KVM na architekturze LoongArch funkcja kvm_arch_prepare_memory_region() oblicza flagi arch dla memslotu tylko przy KVM_MR_CREATE i KVM_MR_MOVE, a przy KVM_MR_FLAGS_ONLY zwraca wcześnie. Ponieważ ogólny kod alokuje wyzerowany memslot, po aktualizacji KVM_MR_FLAGS_ONLY flagi arch są zerowane, co może prowadzić do mapowania pamięci gościa na niewłaściwe strony hosta. Poprawka przenosi flagi arch ze starego memslotu dla KVM_MR_FLAGS_ONLY.
- CVE-2026-89907Wysokie
W jądrze Linux w KVM na architekturze LoongArch funkcja pch_msi_set_irq() przekazuje e->msi.data bezpośrednio do eiointc_set_irq() jako numer przerwania, bez sprawdzenia względem EIOINTC_IRQS. Dane MSI pochodzą z przestrzeni użytkownika (KVM_SET_GSI_ROUTING lub KVM_SIGNAL_MSI), a wartość >= 256 powoduje odczyt i zapis pamięci poza tablicami, umożliwiając korupcję pamięci jądra. Poprawka odrzuca dane MSI spoza przestrzeni przerwań EIOINTC.
- CVE-2026-89906Wysokie
W jądrze Linux w architekturze LoongArch w podsystemie BPF stwierdzono błąd w obliczaniu przesunięcia skoku w wywołaniach ogonowych. Stary sposób obliczania oparty na makrach mógł prowadzić do błędnych przesunięć i zawieszeń systemu podczas dodatkowych przebiegów JIT. Poprawka polega na bezpośrednim obliczaniu przesunięcia względem celu absolutnego oraz dodaniu zabezpieczenia dla przypadku, gdy obraz jest pusty.
- CVE-2026-89905Niskie ryzyko· EPSS 9%
W jądrze Linux dla architektury LoongArch w podsystemie BPF stwierdzono problem z rozmieszczeniem slotu rejestru arena w stosie. Gdy arena_vm_start jest dynamicznie włączany, przesuwa on względne przesunięcie slotu tcc_ptr, co może prowadzić do nieprawidłowego wyrównania pamięci lub jej uszkodzenia. Poprawka przenosi sekwencje zapisu i przywracania rejestru arena poniżej slotów kontekstu licznika wywołań ogonowych oraz aktualizuje epilog.
- CVE-2026-89904Wysokie
W jądrze Linux dla architektury LoongArch stwierdzono przepełnienie tablicy acpi_package_ids[] w przypadku maszyn wirtualnych z wieloma gniazdami. Przy typowej konfiguracji jednego rdzenia na gniazdo, liczba gniazd może osiągnąć 256, co powoduje przepełnienie tablicy. Poprawka zwiększa rozmiar tablicy do maksymalnej wartości MAX_PACKAGES i KVM_MAX_VCPUS.
- CVE-2026-89903Wysokie
W jądrze Linux na architekturze LoongArch trampolina rethook zapisywała i przywracała rejestr bazowy percpu ($r21) w swojej ramce. Jeśli zadanie w trakcie działania handlera zostało przeniesione na inny CPU, przywracany był nieaktualny wskaźnik bazowy percpu, co powodowało błędne odwołania this_cpu_*() i uszkodzenie stanu schedulera oraz timera.
- CVE-2026-89902Wysokie
W jądrze Linux dla architektury LoongArch stwierdzono podatność związaną z obsługą przerwań (break 11) w kontekście Kprobes. Użytkownik może wywołać tę samą instrukcję break, co prowadzi do wywołania kprobe_singlestep_handler() bez aktywnego probe, powodując niedomiar licznika preempt (preempt count underflow). Może to skutkować błędnym przypisaniem gniazd do cgroup root, omijając polityki BPF.
- CVE-2026-89901Niskie ryzyko· EPSS 11%
W jądrze Linux naprawiono podatność w sterowniku media: airspy, polegającą na użyciu nieprawidłowej funkcji przy odłączaniu urządzenia. Funkcja airspy_disconnect() zerowała wskaźnik s->udev, podczas gdy airspy_stop_streaming() nadal odwoływała się do niego bez sprawdzenia, co prowadziło do dereferencji NULL. Zamieniono video_unregister_device() na vb2_video_unregister_device() i przeniesiono je przed wyzerowaniem s->udev.
- CVE-2026-89900Niskie ryzyko· EPSS 9%
W jądrze Linux występuje wyciek pamięci (kmemleak) w podsystemie media CEC. W wyniku wcześniejszej zmiany usunięto niejawne wywołanie rc_free_device() z rc_unregister_device(), ale pozostawiono przypisanie adap->rc = NULL, przez co funkcja rc_free_device() nigdy nie jest wywoływana dla zaalokowanego urządzenia rc. Problem ujawnia się m.in. przy odłączaniu sterownika dw-hdmi.
- CVE-2026-89899Wysokie
W jądrze Linux w podsystemie CEC stwierdzono problem z opóźnionym zadaniem (delayed work) podczas przerywanego przesyłania. Jeśli oczekiwanie na transmisję zostanie przerwane sygnałem, cancel_delayed_work_sync() może zostać wywołane przed uaktywnieniem pracy przez wątek CEC, co prowadzi do zwolnienia pamięci z wciąż oczekującą pracą. Poprawka używa disable_delayed_work_sync(), aby anulować i wyłączyć pracę, zapobiegając ponownemu jej uaktywnieniu.
- CVE-2026-89898Wysokie
W jądrze Linux w podsystemie CEC dla urządzenia Extron DA HD 4K Plus stwierdzono brak walidacji danych wejściowych, co może prowadzić do przepełnienia bufora msg.msg[] w przypadku nieprawidłowo sformułowanych danych. Poprawka dodaje odpowiedni test poprawności.
- CVE-2026-89897Wysokie
W jądrze Linux w podsystemie CEC stwierdzono problem z serializacją dostarczania wiadomości do wyłącznego obserwatora (exclusive follower). Funkcja cec_receive_notify() odczytuje wskaźnik obserwatora bez blokady, co może prowadzić do wyścigu z trybami zmian lub zwolnieniem. Poprawka serializuje sprawdzanie braku obserwatora i dostarczanie wiadomości.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

