Podatności Linux kernel
7563 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90373Nieznane
W sterowniku mt7915 występuje wyścig przy czyszczeniu maski wcid w funkcji remove_interface. Maska jest czyszczona bez trzymania mutexa i przed wyczyszczeniem wskaźnika RCU, co może prowadzić do wycieku lub ponownego przydzielenia wcid, a nawet jego usunięcia.
- CVE-2026-90370Nieznane
W sterowniku mt7996 występuje błąd w przeglądaniu listy TLV w funkcji mcu_get_chip_config. Pętla zwiększa pozycję o długość TLV bez minimalnej wartości, co może prowadzić do nieskończonej pętli przy zerowej długości, a także odczyt poza zakresem.
- CVE-2026-90369Nieznane
W sterownikach mt76 funkcje mmio_write_copy i mmio_read_copy iterują do ALIGN(len,4), co dla długości niebędącej wielokrotnością czwórki powoduje odczyt poza źródłem lub zapis poza celem.
- CVE-2026-90368Nieznane
W jądrze Linux w funkcji mt7915_add_interface() sterownika wifi mt76 występuje błąd braku wycofania zmian przy niepowodzeniu dodawania interfejsu. Gdy alokacja mt76_wcid_alloc() się nie powiedzie, funkcja zwraca błąd bez wyczyszczenia ustawionych bitów vif_mask/omac_mask, bez usunięcia wcześniej dodanych informacji o urządzeniu firmware i bez wyzerowania wskaźnika monitor_vif. Ponieważ mac80211 nie wywołuje remove_interface() po nieudanym dodaniu, indeksy i wpis firmware wyciekają trwale, a testmode może odwołać się do nieaktualnego wskaźnika monitor_vif.
- CVE-2026-90366Nieznane
W jądrze Linux w sterowniku wifi mt76 (mt7996) funkcja mt7996_mcu_beacon_cntdwn() emituje dwa wpisy bss_bcn_cntdwn_tlv (odliczanie CSA i BCC przerwania CCA), ale stała MT7996_BEACON_UPDATE_SIZE rezerwowała miejsce tylko na jeden. Przy włączonym MBSSID i niemal maksymalnym szablonie beacon dodatkowe 8 bajtów mogło przekroczyć MT7996_MAX_BSS_OFFLOAD_SIZE i wywołać skb_over_panic().
- CVE-2026-90365Nieznane
W jądrze Linux w sterownikach wifi mt76 oba sterowniki anulowały dump_work przy wyrejestrowaniu urządzenia, ale pozostawiały reset_work i rc_work do opróżnienia dopiero przez destroy_workqueue() w mt76_free_device(), które uruchamia się po wyrejestrowaniu hw i zatrzymaniu sprzętu. reset_work uruchomiony w tym oknie wywołuje ieee80211_restart_hw() i ponownie uzbraja mac_work na wyrejestrowanym hw, a rc_work dotyka stanu stacji będącej w trakcie niszczenia.
- CVE-2026-90364Nieznane
W jądrze Linux funkcja acpi_processor_driver_init() rejestruje notyfikator polityki cpufreq przed zarejestrowaniem sterownika ACPI processor i skonfigurowaniem stanu hotplug CPU. Jeśli driver_register() lub cpuhp_setup_state() zawiedzie, ścieżka błędu wyrejestrowuje tylko sterownik ACPI processor i sterownik idle, pozostawiając notyfikator cpufreq zarejestrowany mimo niepowodzenia inicjalizacji.
- CVE-2026-90363Nieznane
W jądrze Linux w sterownikach MDP4/MDP5 dla układów graficznych MSM podwójne niszczenie stanu KMS podczas nieudanej inicjalizacji prowadzi do użycia po zwolnieniu (use-after-free). Błąd występuje, gdy funkcja kms_init() zawiedzie, a sterownik sam czyści stan, a następnie wspólna ścieżka błędów robi to ponownie.
- CVE-2026-90362Nieznane
W jądrze Linux w sterowniku drm/msm/dsi wywołanie dev_pm_opp_set_rate(0) usuwa głos określony w required-opps, ale nie zatrzymuje faktycznie zegara, przez co działa on bez niezbędnego wsparcia zasilania. Poprawka usuwa to jawne wywołanie; każde miejsce wywołania ops->link_clk_disable() jest poprzedzone pm_runtime_put(), więc głos zasilania zostanie wycofany, jeśli uzna się to za bezpieczne.
- CVE-2026-90361Nieznane
W jądrze Linux w sterowniku wifi ath11k funkcja ath11k_service_ready_ext_event() może alokować svc_rdy_ext.mac_phy_caps podczas parsowania TLV. Jest to alokacja tymczasowa zwalniana na ścieżce sukcesu, ale nie na ścieżce błędu — jeśli parsowanie powiedzie się na tyle, by zaalokować mac_phy_caps, a następnie zawiedzie na późniejszym TLV, alokacja wycieka.
- CVE-2026-90360Nieznane
W jądrze Linux regulator_init_complete_work używa system_wq (nieodmrażalnego) przez schedule_delayed_work(), co pozwala mu działać równolegle z zawieszeniem systemu. Praca ta uruchamia się ~30 s po starcie, aby wyłączyć nieużywane regulatory przez I2C; gdy wyścig z PM suspend nastąpi, adapter I2C może być już zawieszony, co wywołuje ostrzeżenie -ESHUTDOWN w __i2c_transfer().
- CVE-2026-90359Nieznane
W jądrze Linux btf_distill_func_proto() buduje model funkcji używany dla trampolin fentry/fexit/fmod_ret/fsession i struct_ops, akceptując 16-bajtową wartość zwracaną __int128 od czasu wprowadzenia trampoliny. Trampolina BPF zachowuje jednak tylko 8 bajtów wartości zwracanej (RAX/R0), więc dla typów dołączenia czytających wartość zwracaną (fexit, fmod_ret, fsession i warianty _multi oraz struct_ops) druga połowa nie jest zapisywana ani przywracana, co uszkadza wartość widzianą przez rzeczywistego wywołującego.
- CVE-2026-90356Nieznane
W sterowniku wifi mt76 (mt7996) funkcja mt7996_mac_reset_vif_iter() kolejkuje niedomyślne linki vif do kfree_rcu, podczas gdy dev->wcid[] wciąż przechowuje wskaźniki do wcid osadzonego w każdym zwalnianym linku. Następnie mt76_reset_device() dereferencjonuje te wpisy i uruchamia mt76_wcid_cleanup() na zwolnionej pamięci, jeśli upłynie okres karencji.
- CVE-2026-90355Nieznane
W sterowniku wifi mt76 (mt7996) po pełnym resecie chipu ścieżka resetu zwalnia struktury linków bez wyczyszczenia bitów w mvif->valid_links, przez co odtworzenie konfiguracji przez mac80211 nie tworzy ponownie rekordów dev_info/bss_info/STA i nie rejestruje ponownie link wcid, pozostawiając urządzenie niedziałające. Reset wycieka też wszystkie przydzielone indeksy MLD, co przy powtarzanych resetach wyczerpuje przestrzeń indeksów.
- CVE-2026-90354Nieznane
W sterowniku wifi mt76 (mt7915) funkcja mt7915_pci_init_hif2() była wywoływana bezwarunkowo oraz ponownie w gałęzi nieaktywnego WED. Powodowało to podwójne zwiększenie globalnego hif_idx, dwukrotny zapis rejestru PCIe RECOG_ID i wyciek referencji urządzenia, ponieważ usunięcie zwalnia tylko jedną referencję.
- CVE-2026-90352Nieznane
W sterowniku wifi mt76 (mt7915) referencja hif2 uzyskana przez mt7915_pci_init_hif2() jest zwalniana tylko na ścieżkach błędów opartych na dev->hif2, który nie jest przypisany aż do konfiguracji IRQ. Jeśli pci_alloc_irq_vectors() lub główne devm_request_irq() zawiodą, referencja wycieka.
- CVE-2026-90351Nieznane
W sterowniku wifi mt76 (mt7996) jeśli attach WED dla głównej funkcji PCIe zawiedzie, ścieżka sondowania nadal podłącza wed_hif2 dla funkcji pomocniczej, pozostawiając urządzenie w niespójnej konfiguracji połowicznego WED, która później powoduje awarię. Wywołanie hif2 ponownie włącza też hwrro_mode, który nieudany główny attach właśnie wyłączył.
- CVE-2026-90350Nieznane
W sterowniku wifi mt76 funkcja mt76_vif_link() indeksuje mvif->link[] bez walidacji link_id, a wywołujący przekazują mvif->deflink_id / msta->deflink_id, które przechowują IEEE80211_LINK_UNSPECIFIED (0xf) do momentu dodania pierwszego linku. Ponieważ IEEE80211_MLD_MAX_NUM_LINKS wynosi 15, odczyt następuje o jeden element poza tablicą, aliasując mt76_vif_data.offchannel_link.
- CVE-2026-90349Nieznane
W sterowniku wifi mt76 (mt7996) gdy mac80211 pozostawia link nieokreślony, mt7996_tx() podstawia główny identyfikator linku stacji lub vif. Wartość ta to IEEE80211_LINK_UNSPECIFIED (0xf) do momentu dodania pierwszego linku i jest używana bez sprawdzenia do indeksowania vif->link_conf[], mvif->mt76.link[] i sta->link[], które mają po 15 elementów.
- CVE-2026-90348Nieznane
W jądrze Linuksa w sterowniku ath10k dla SNOC (WCN3990) podczas kopiowania obszaru MSA do zrzutu pamięci używana jest funkcja memcpy(), która wykonuje niepoprawne (niezrównane) dostęp do pamięci zmapowanej jako MEMREMAP_WT. Powoduje to błąd wyrównania i awarię jądra podczas zbierania devcoredump, a także zerowanie bufora zrzutu pamięci.
- CVE-2026-90346Nieznane
W jądrze Linuksa w funkcji nl80211_color_change() stwierdzono wyciek pamięci podczas przetwarzania danych beacon_next. Jeśli parsowanie beacon_next zakończy się błędem, towary parametry (takie jak mbssid_ies i rnr_ies) nie są zwalniane, ponieważ funkcja zwraca błąd bez użycia ścieżki czyszczącej out:.
- CVE-2026-90345Nieznane
W jądrze Linuksa w sterowniku brcmfmac występuje problem z obsługą ramek akcji P2P, gdy nie istnieje wirtualny interfejs P2P. Niektóre ścieżki zakładają, że taki interfejs jest zawsze dostępny, co nie jest prawdą dla ramek publicznych wysyłanych przez interfejs główny lub gdy abort ramki ma miejsce przed utworzeniem vif P2P.
- CVE-2026-90344Nieznane
W jądrze Linuksa w podsystemie mac80211 stwierdzono błędne porównanie kanału zero podczas parsowania CSA (Channel Switch Announcement). Refaktoryzacja mylnie traktowała kanał zero jako brak informacji, przez co AP ogłaszający przełączenie na nieprawidłowy kanał 0 nie powodował rozłączenia, co może prowadzić do awarii firmware na niektórych urządzeniach Intel.
- CVE-2026-90342Nieznane
W jądrze Linuksa w mechanizmie BPF arena stwierdzono potencjalny zakleszczenie (deadlock) na mmap_lock w przypadku niepowodzenia przejęcia spinlocka w funkcji arena_vm_fault(). Funkcja zwraca VM_FAULT_RETRY bez wcześniejszego zwolnienia mmap_lock, co powoduje podwójne założenie blokady przy ponowieniu.
- CVE-2026-90340Nieznane
W jądrze Linuksa w podsystemie pinctrl (generic) stwierdzono wyciek pamięci w funkcji pinctrl_generic_to_map(). Jeśli któryś z kolejnych kroków (mux, grupa, config) zwróci błąd, wskaźnik *maps może zawierać częściowo przydzielone wpisy, które nie są zwalniane, co prowadzi do wycieku pamięci dla wszystkich sterowników używających tej funkcji.
- CVE-2026-90339Nieznane
W jądrze Linuksa dla architektury PowerPC wykryto podatność związaną z obsługą syscalli po włączeniu GENERIC_ENTRY. Gdy seccomp lub ptrace przechwytuje syscall i ustawia wartość zwrotną, system_call_exception() nie obsługiwał sygnału -1, co powodowało nadpisanie ustawionej wartości przez -ENOSYS. Poprawka wprowadza flagę wątku, która śledzi jawne ustawienie wartości zwrotnej i zapobiega jej nadpisaniu.
- CVE-2026-90338Nieznane
W jądrze Linux występuje podatność w sterowniku konsoli szeregowej amba-pl011. Funkcja pl011_console_write_atomic() wywoływana w kontekście atomowym (nbcon) używa clk_enable(), które w jądrze z PREEMPT_RT może zasnąć, co prowadzi do błędu "sleeping function called from invalid context". Problem dotyczy urządzeń arm32 i arm64 z Device Tree, gdzie UART korzysta z zegara zarządzanego przez common-clk.
- CVE-2026-90337Nieznane
W jądrze Linux w podsystemie serial core występuje podatność polegająca na tym, że alokacje pamięci dla uport->tty_groups i uport->name są wykonywane po rejestracji konsoli, co w przypadku niepowodzenia alokacji prowadzi do wyrejestrowania portu, podczas gdy konsola pozostaje zarejestrowana, a wskaźniki wskazują na zwolnioną pamięć. Może to prowadzić do dereferencji NULL (w konsoli PL011) lub use-after-free (w konsoli i.MX).
- CVE-2026-90336Nieznane
W jądrze Linux w funkcji uart_register_driver() występuje problem polegający na tym, że w przypadku niepowodzenia tty_alloc_driver() wskaźnik drv->state pozostaje wskazujący na zwolnioną pamięć, a w przypadku niepowodzenia tty_register_driver() wskaźnik drv->tty_driver również pozostaje po zwolnieniu referencji. Sterowniki używające drv->state jako flagi 'już zarejestrowany' mogą pominąć rejestrację przy następnym probe i przekazać zwolniony stan do uart_add_one_port().
- CVE-2026-90335Nieznane
W jądrze Linux w podsystemie TTY występuje podatność polegająca na tym, że rejestracja urządzenia TTY może zakończyć się niepowodzeniem przed alokacją cdev. Serial core zachowuje port, więc setserial może go nadal używać, a późniejsze usunięcie przekazuje wskaźnik NULL do cdev_del(), co powoduje dereferencję NULL.
- CVE-2026-90334Nieznane
W jądrze Linux w funkcji tty_cdev_add() występuje problem polegający na tym, że w przypadku niepowodzenia cdev_add() referencja do cdev jest zwalniana, ale wskaźnik driver->cdevs[index] pozostaje wskazujący na zwolnioną pamięć. Późniejsze wywołanie tty_unregister_device() przekazuje ten nieaktualny wskaźnik do cdev_del(), co prowadzi do use-after-free.
- CVE-2026-90333Nieznane
W jądrze Linux w module dm-integrity występuje podatność polegająca na tym, że znacznik bloku dysku o wartości wszystkich bajtów 0xf6 (DISCARD_FILLER) jest traktowany jako dowód, że blok został odrzucony, i pomija weryfikację HMAC. Atakujący z dostępem do zapisu na urządzeniu bazowym, ale bez klucza integralności, może oznaczyć dowolny blok takim znacznikiem i uzyskać jego autoryzację.
- CVE-2026-90331Nieznane
W jądrze Linux w sterowniku HID dla urządzeń ASUS występuje wiele problemów: brak sprawdzania rozmiaru w asus_raw_event(), nieczyste sprzątanie w asus_probe przy błędzie, możliwe use-after-free w asus_probe, używanie wielu kolejek pracy, wywołania usypiające w kontekście atomowym oraz wysyłanie pakietów o nieprawidłowym rozmiarze do kontrolera klawiatury.
- CVE-2026-90330Nieznane
W jądrze Linux w sterowniku HID Logitech (hidpp) występuje problem polegający na tym, że w funkcji hidpp_ff_init(), jeśli alokacje prywatnych danych, tablicy ID efektów lub kolejki pracy nie powiodą się po utworzeniu urządzenia force-feedback, funkcja zwraca błąd bez niszczenia urządzenia FF, co prowadzi do wycieku zasobów.
- CVE-2026-90328Nieznane
W jądrze Linux sterownik HID dla kontrolera Steam (HID: steam) ufał rozmiarowi wiadomości raportowanej w samym komunikacie FEATURE, zamiast weryfikować rzeczywistą długość odczytu. Prowadziło to do problemu z krótkimi odczytami (short reads).
- CVE-2026-90327Nieznane
W jądrze Linux funkcja pep_getsockopt() w module phonet ograniczała raportowaną długość do bufora wywołującego za pomocą min_t(), ale następnie zapisywała wartość przez put_user(), co zawsze zapisuje sizeof(int) bajtów. Wywołanie getsockopt() z optlen mniejszym niż sizeof(int) raportowało ograniczoną długość, ale zapisywało pełny int, od jednego do trzech bajtów poza buforem użytkownika.
- CVE-2026-90323Nieznane
W jądrze Linux w module ublk z flagą UBLK_F_AUTO_BUF_REG nieprawidłowy sqe->addr może spowodować błąd po ustawieniu UBLK_IO_FLAG_ACTIVE przez ublk_fill_io_cmd(). Uring_cmd jest kończony, gdy tag pozostaje aktywny, co może zawiesić proces teardown.
- CVE-2026-90322Nieznane
W jądrze Linux w module ocfs2/cluster występuje błąd w zarządzaniu lokalnym węzłem klastra. Gdy ustawienie local=0 czyści stan lokalnego węzła, ale pozostawia flagę cl_has_local, funkcja o2nm_this_node() zwraca nieprawidłowy numer 255, co prowadzi do błędu KASAN slab-out-of-bounds w o2hb_do_disk_heartbeat().
- CVE-2026-90319Nieznane
W jądrze Linux w podsystemie rapidio funkcja rio_alloc_net() zapisuje nowo przydzielony rio_net w mport->net przed rejestracją urządzenia przez rio_scan_alloc_net(). Jeśli rio_add_net() zawiedzie, put_device() zwalnia rio_net, ale mport->net pozostaje wskazaniem na zwolniony obiekt, co może prowadzić do podwójnego zwolnienia.
- CVE-2026-90318Nieznane
W jądrze Linux funkcja fat_rebuild_parent() używa wpisu katalogowego do odbudowy inode'a nadrzędnego, ale nie zwalnia bufora sinfo.bh po udanym skanowaniu. Prowadzi to do wycieku bufora (buffer head) w ścieżce eksportu NFS nostale_ro.
- CVE-2026-90315Nieznane
W jądrze Linux procedury obsługi sysfs legacy I/O i legacy memory nie sprawdzały security_locked_down(LOCKDOWN_PCI_ACCESS). W efekcie root mógł zapisywać dowolne porty I/O oraz mapować przestrzenie legacy I/O i pamięci nawet przy aktywnym lockdownie jądra.
- CVE-2026-90314Nieznane
W jądrze Linux w funkcji rsc_table_for_each_entry() offset z firmware (u32) był przechowywany jako int ze znakiem. Spreparowany offset, np. 0xFFFFFFF0, stawał się wartością -16, co omijało sprawdzenie dostępności i umożliwiało odczyt poza zakresem bufora (hdr->type).
- CVE-2026-90313Nieznane
W jądrze Linux po nieudanej podmianie programu BPF cgroup (BPF_F_REPLACE w trybie multi-attach) funkcja __cgroup_bpf_attach nadpisała pl->storage nowym buforem, ale w ścieżce błędu nie przywróciła starego. Aktywny prog1 zachowuje wiszące wskaźniki do pamięci, co prowadzi do nieprawidłowego dostępu przy bpf_get_local_storage.
- CVE-2026-90311Nieznane
W jądrze Linux wykryto podatność w podsystemie termicznym (thermal/hwmon). Problem polega na tym, że urządzenie klasy hwmon jest rejestrowane tylko dla pierwszej strefy termicznej danego typu, a atrybuty sysfs innych stref są do niego dołączane. Usunięcie strefy termicznej, która posiada to urządzenie hwmon, może zablokować proces usuwania z powodu atrybutów należących do innych stref.
- CVE-2026-90305Nieznane
W jądrze Linux na architekturze ARM włączono PREEMPT_RT bez wybrania HAVE_POSIX_CPU_TIMERS_TASK_WORK, przez co CONFIG_POSIX_CPU_TIMERS_TASK_WORK pozostawał wyłączony, a timery CPU wygasały w kontekście twardego przerwania. Na PREEMPT_RT powodowało to wywołanie run_posix_cpu_timers() z uśpieniem na sighand->siglock, co prowadziło do błędu "sleeping function called from invalid context". Poprawka wybiera tę opcję, aby odroczyć wygasanie timerów POSIX CPU do kontekstu zadania.
- CVE-2026-90304Nieznane
W jądrze Linux na architekturze ARM funkcje do_DataAbort()/do_PrefetchAbort() wywoływały force_sig_fault() z wyłączonymi przerwaniami, gdy hook obsługi nieobsłużonego błędu użytkownika zwracał wartość niezerową. PREEMPT_RT wymaga włączonych przerwań podczas wysyłania sygnałów, co można było wywołać m.in. instrukcją bkpt przy CONFIG_PERF_EVENTS=n. Poprawka włącza przerwania w tych ścieżkach.
- CVE-2026-90303Nieznane
W jądrze Linux na architekturze ARM przy CONFIG_DEBUG_USER=y i parametrze "user_debug=31" błąd użytkownika może wywołać show_pte() bez blokady. Równoległe munmap() w tym samym procesie może zwolnić strony tablicy stron w trakcie ich przeglądania, powodując use-after-free, a przy CONFIG_ARM_LPAE=y nawet panikę jądra. Poprawka zakłada mmap_write_lock() wokół show_pte() dla błędów użytkownika i ogranicza jego wywołanie do adresów przestrzeni użytkownika (addr < TASK_SIZE).
- CVE-2026-90302Nieznane
W jądrze Linux w systemie plików OCFS2 wykryto podatność polegającą na wyścigu podczas zamykania modułu o2net. Wywołania zwrotne heartbeat mogą pozostać zarejestrowane, gdy teardown niszczy kolejkę pracy o2net_wq, co prowadzi do użycia po zwolnieniu (use-after-free) w funkcji __queue_work(). Problem został znaleziony przez KASAN.
- CVE-2026-90300Nieznane
W jądrze Linux funkcje pomocnicze bpf_get_task_stack i bpf_get_task_stack_sleepable korzystające z __bpf_get_task_stack mają bufor zadeklarowany jako ARG_PTR_TO_UNINIT_MEM, który powinien być inicjalizowany na każdej ścieżce zwrotu. Brakujący memset w ścieżkach błędów powodował, że bufor zawierał niezainicjalizowane dane. Poprawka dodaje zerowanie bufora, zapewniając deterministyczną zawartość.
- CVE-2026-90299Nieznane
W jądrze Linux, gdy CONFIG_FUNCTION_ERROR_INJECTION jest wyłączone, weryfikator BPF nie sprawdza, czy symbol docelowy jest funkcją jądra czy programem BPF, przez co uśpiony program tracing może zostać podłączony do celu o nazwie z prefiksem podobnym do '__x64_'. Przykładowo uśpiony program fentry podłączony do programu XDP '__x64_sys_nop' i używający bpf_copy_from_user() może wywołać błąd "sleeping function called from invalid context". Poprawka zabrania uśpionych programów, gdy docelowy BTF nie jest BTF jądra.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

