Podatności Linux kernel
7564 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-89966Nieznane
W jądrze Linux wykryto podatność w mechanizmie alokacji stron hugetlb z CMA. Funkcja hugetlb_cma_alloc_frozen_folio nie obsługuje poprawnie sytuacji, gdy nodemask jest NULL, co prowadzi do dereferencji wskaźnika NULL i paniki jądra. Nieuprzywilejowany użytkownik może wywołać awarię systemu, żądając alokacji gigantycznej strony z polityką MPOL_PREFERRED_MANY w systemie z CMA skonfigurowanym tylko na części węzłów NUMA.
- CVE-2026-89965Wysokie
W jądrze Linux pole nfree w bloku informacyjnym BTT jest odczytywane z nośnika bez walidacji. Funkcje btt_freelist_init() i btt_rtt_init() rozmiarują tablice freelist[] i rtt[] na podstawie nfree, ale ścieżka I/O indeksuje je numerem lane ograniczonym przez num_lanes, a nie przez nfree. Arena z nfree mniejszym niż liczba lane powoduje zapis poza granicami alokacji.
- CVE-2026-89964Nieznane
W jądrze Linux funkcja eisa_irq_setup() przy nieprawidłowej wartości parametru wiersza poleceń "eisa_irq_edge=" wypisuje komunikat błędu i kontynuuje bez przesunięcia bieżącej pozycji. Powoduje to wielokrotne parsowanie tej samej nieprawidłowej wartości i nieskończoną pętlę podczas rozruchu jądra.
- CVE-2026-89963Nieznane
W jądrze Linux funkcja kexec_extra_fdt_size_ppc64() może wywołać dereferencję wskaźnika NULL. Na platformach bez zarezerwowanych regionów pamięci get_reserved_memory_ranges() może zwrócić 0, pozostawiając 'rmem' jako NULL, a następnie odwołanie do 'rmem->nr_ranges' powoduje panikę jądra.
- CVE-2026-89962Nieznane
W jądrze Linux w funkcji __merge_memory_ranges() (powerpc/kexec_file) występuje błąd logiki scalania nakładających się zakresów pamięci. Funkcja porównuje początek bieżącego zakresu z poprzednim elementem zamiast z bieżącym indeksem docelowym i bezwarunkowo nadpisuje koniec zakresu, co prowadzi do obcięcia prawidłowych zakresów pamięci. W efekcie fragmenty pamięci mogą zostać pominięte na listach wykluczeń kexec, co grozi nadpisaniem aktywnej pamięci przez jądro awaryjne.
- CVE-2026-89961Wysokie
W jądrze Linux w funkcji vmemmap_populate_compound_pages() (architektura powerpc) zmienna addr_pfn była zwiększana ręcznie w sposób niezgodny z postępem pętli po adresach vmemmap. Powodowało to błędne wyliczenie pfn_offset i podejmowanie decyzji o mapowaniu head/tail dla niewłaściwej pozycji strony złożonej.
- CVE-2026-89960Wysokie
W jądrze Linux w funkcji vfio_ap_mdev_set_kvm() wskaźnik kvm->arch.crypto.pqap_hook jest ustawiany przed sprawdzeniem, czy inne urządzenie mdev nie jest już przypisane do tej samej instancji KVM. W przypadku błędu funkcja zwraca -EPERM bez przywrócenia wskaźnika, co prowadzi do pozostawienia nieaktualnego wskaźnika i potencjalnego use-after-free przy wykonaniu instrukcji PQAP przez gościa.
- CVE-2026-89959Wysokie
W jądrze Linux funkcja vfio_ap_config_remove używała bitmap_andnot do czyszczenia bitów w bitmapie matrix_mdev->matrix.adm, co uniemożliwiało usunięcie jawnie odłączonych domen kontrolnych z gościa KVM. Poprawka zastępuje bitmap_andnot funkcją bitmap_and.
- CVE-2026-89958Nieznane
W jądrze Linux w sterowniku s390/vfio-ap występuje podatność polegająca na braku sprawdzenia, czy wskaźnik matrix_mdev->kvm nie jest NULL przed pobraniem mutexa matrix_mdev->kvm->lock. Jeśli matrix_mdev->kvm nigdy nie został ustawiony, próba pobrania blokady powoduje dereferencję wskaźnika NULL. Poprawka dodaje sprawdzenie matrix_mdev->kvm == NULL przed pobraniem mutexa.
- CVE-2026-89957Wysokie
W jądrze Linux funkcja vfio_ap_mdev_hot_unplug_cfg() używała wartości zwracanej bitmap_andnot() do decyzji o aktualizacji APCB gościa. Gdy wynikowa bitmapa była pusta, funkcja zwracała false i aktualizacja nie następowała, pozostawiając gościowi KVM dostęp do odłączonych urządzeń AP.
- CVE-2026-89956Nieznane
W jądrze Linux wykryto podatność w podsystemie s390/vfio-ap, polegającą na braku wymaganego zamka (mutex guests_lock) podczas dostępu do listy obiektów ap_matrix_mdev. Dwie funkcje (vfio_ap_mdev_probe i vfio_ap_mdev_for_queue) uzyskiwały dostęp do listy bez odpowiedniego zabezpieczenia, co mogło prowadzić do uszkodzenia pamięci jądra lub użycia po zwolnieniu (use-after-free) przy współbieżnym tworzeniu lub usuwaniu urządzeń.
- CVE-2026-89955Nieznane
W jądrze Linux funkcja vfio_ap_mdev_probe_queue() tworzyła grupę atrybutów sysfs, zanim ustawiono dane sterownika kolejki. Współbieżny odczyt atrybutu 'status' mógł wywołać dev_get_drvdata() zwracające NULL, co prowadziło do dereferencji NULL w vfio_ap_mdev_for_queue().
- CVE-2026-89954Wysokie
W jądrze Linux parser AFS v2 używa footer[8] do zlokalizowania bloku informacji obrazu w bloku wymazywania, a następnie region_count do przejścia po wpisach lokalnej tablicy. Przesunięcie i liczba regionów pochodzą z zawartości flash i nie były sprawdzane przed użyciem.
- CVE-2026-89953Nieznane
W jądrze Linux funkcja mtdoops_notify_add() alokuje bitmapę oops_page_used przy rejestracji urządzenia MTD, ale mtdoops_notify_remove() nie zwalnia jej. Ponowna rejestracja tego samego urządzenia MTD powoduje wyciek jednej alokacji vmalloc na każdy cykl remove/add.
- CVE-2026-89952Nieznane
W jądrze Linux funkcja nand_flash_detect_ext_param_page() przydziela pamięć na podstawie długości zadeklarowanej w stronie parametrów ONFI, a następnie odczytuje nagłówek i sekcje zmiennej długości bez weryfikacji, czy mieszczą się one w przydzielonym buforze. Brak walidacji może prowadzić do odczytu poza granicami bufora. Poprawka odrzuca zbyt krótkie strony, śledzi pozostały obszar i wymaga, aby sekcja ECC zawierała wszystkie odczytywane pola.
- 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-89950Nieznane
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-89949Nieznane
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-89948Nieznane
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-89946Nieznane
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-89945Nieznane
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-89944Nieznane
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-89939Nieznane
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-89937Nieznane
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-89936Nieznane
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-89935Nieznane
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-89934Nieznane
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-89933Nieznane
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-89931Nieznane
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-89926Nieznane
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-89925Nieznane
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-89924Nieznane
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-89923Nieznane
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-89921Nieznane
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-89917Nieznane
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

