Podatności Linux kernel
7564 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- 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-89909Nieznane
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-89905Nieznane
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-89901Nieznane
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-89900Nieznane
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.
- CVE-2026-89896Nieznane
W funkcji cedrus_init_ctrls() w sterowniku media cedrus jądra Linux handler kontrolek V4L2 jest inicjalizowany przed alokacją pamięci dla ctx->ctrls. Jeśli alokacja się nie powiedzie, funkcja zwraca -ENOMEM bez zwolnienia wcześniej przydzielonych zasobów handlera, co prowadzi do wycieku pamięci.
- CVE-2026-89895Nieznane
W sterowniku media cobalt jądra Linux funkcja snd_cobalt_card_create() zapisuje cobsc w sc->private_data i ustawia snd_cobalt_card_private_free() jako sc->private_free. Jeśli cobalt_alsa_init() zawiedzie, ścieżka err_exit_free wywołuje snd_card_free(sc), a następnie kfree(cobsc), co powoduje podwójne zwolnienie tego samego obiektu.
- CVE-2026-89893Wysokie
W sterowniku media cx23885 jądra Linux funkcja netup_ci_exit() zwalnia netup_ci_state, podczas gdy jego element roboczy netup_read_ci_status() może być wciąż oczekujący lub uruchomiony w systemowej kolejce roboczej. Worker uzyskuje stan przez container_of() i go dereferencjonuje, więc nie może przetrwać zwolnienia stanu.
- CVE-2026-89892Nieznane
W sterowniku media em28xx jądra Linux ścieżka audio-only rejestruje rozszerzenia podczas sondowania urządzenia głównego, co dla płyt dual-TS następuje przed utworzeniem dev_next. Zduplikowane urządzenie dziedziczy is_audio_only i jest niezależnie wstawiane do em28xx_devlist, co może prowadzić do use-after-free podczas rozłączenia.
- CVE-2026-89891Nieznane
W sterowniku media em28xx jądra Linux przy urządzeniu z has_dual_ts=1 i ścieżką is_audio_only zarówno dev, jak i dev->dev_next są dodawane do globalnej listy em28xx_devlist. Podczas rozłączenia em28xx_close_extension(dev) usuwa tylko dev->devlist, pozostawiając dev->dev_next->devlist w globalnej liście, co po zwolnieniu dev_next prowadzi do wiszącego wskaźnika i uszkodzenia listy.
- CVE-2026-89890Wysokie
W sterowniku media go7007 jądra Linux funkcja go7007_snd_init() pobiera referencję v4l2_device dla strony ALSA, ale go7007_snd_remove() zwalnia ją natychmiast po wywołaniu snd_card_free_when_closed(). Jest to zbyt wcześnie, gdy proces użytkownika wciąż ma otwarty PCM przechwytywania, co może prowadzić do use-after-free.
- CVE-2026-89889Nieznane
W sterowniku media i2c imx415 jądra Linux ścieżka VBLANK zwracała natychmiast, gdy programowanie VMAX nie powiodło się po pobraniu referencji runtime PM przez pm_runtime_get_if_in_use(). Prowadzi to do wycieku referencji runtime PM.
- CVE-2026-89888Wysokie
W sterowniku media i2c ov02a10 jądra Linux funkcja ov02a10_check_hwcfg() wywołuje fwnode_handle_put(ep) natychmiast po alokacji i parsowaniu endpointu, ale następnie używa tego samego uchwytu 'ep' w fwnode_property_read_u32(), co prowadzi do use-after-free. Dodatkowo odczyt opcjonalnej właściwości 'ovti,mipi-clock-voltage' nadpisywał zmienną 'ret', powodując niepowodzenie sondowania.
- CVE-2026-89887Wysokie
W sterowniku media i2c ov7740 jądra Linux funkcja ov7740_remove() miała poważny błąd kolejności niszczenia: niszczyła mutex sterownika przed zwolnieniem handlera kontrolek V4L2, który zależy od tego mutexa, co prowadziło do paniki jądra (use-after-destroy). Dodatkowo sterownik wywoływał v4l2_ctrl_handler_free() i mutex_destroy() sekwencyjnie, a następnie ov7740_free_controls(), który wywołuje je ponownie, powodując podwójne zwolnienie.
- CVE-2026-89886Nieznane
W jądrze Linux w funkcji isys_notifier_init() sterownika media intel/ipu6 występuje wyciek zasobów. Gdy parsowanie lub dodanie endpointu zakończy się błędem w połowie pętli, funkcja wraca bez wywołania v4l2_async_nf_cleanup(), pozostawiając wcześniej dodane połączenia v4l2_async_connection na liście oczekujących notyfikatora.
- CVE-2026-89885Wysokie
W jądrze Linux w sterowniku media platform mtk-mdp3 funkcja mdp_probe() nieprawidłowo zarządza licznikiem referencji urządzenia SCP. Ścieżka awaryjna zwalnia referencję uzyskaną przez __get_pdev_by_id() zbyt wcześnie, a następnie scp_put() zwalnia ją ponownie, co prowadzi do podwójnego zwolnienia referencji.
- CVE-2026-89884Nieznane
W jądrze Linux w sterowniku media platform mtk-mdp3 brakuje sprawdzenia poprawności po wyszukaniu urządzenia SCP. Jeśli sterownik SCP nie został jeszcze powiązany, może dojść do dereferencji wskaźnika NULL.
- CVE-2026-89883Wysokie
W jądrze Linux w sterowniku media rc sunxi-cir po udanej rejestracji urządzenia rc_register_device() ścieżki błędów próbkowania nie wyrejestrowują urządzenia. Wywoływane jest jedynie rc_free_device(), co pozostawia zarejestrowane urządzenie rc i powiązane zasoby.
- CVE-2026-89882Wysokie
W jądrze Linux w dekoderze media rkvdec HEVC funkcja st_ref_pic_set_prediction() oblicza indeks RPS jako st_rps_idx - (delta_idx_minus1 + 1) na typach u8. Gdy delta_idx_minus1 + 1 przekracza bieżący indeks, odejmowanie się zawija i dostęp do tablicy calculated_rps_st_sets[ref_rps_idx] następuje daleko poza granicami.
- CVE-2026-89880Wysokie
W jądrze Linux w sterowniku rtl2832_sdr funkcja rtl2832_sdr_start_streaming() przy błędzie alokacji lub wysyłania URB-ów nie zwalniała wcześniej przydzielonych buforów DMA ani struktur URB. Prowadziło to do wycieku pamięci DMA oraz do odczytu poza tablicą urb_list[] przy kolejnej próbie uruchomienia strumieniowania, co mogło skutkować użyciem nieprawidłowych wskaźników.
- CVE-2026-89879Nieznane
W jądrze Linux w sterowniku media s2255 funkcja s2255_fillbuff() kopiuje vc->jpg_size bajtów ramki JPEG/MJPEG do płaszczyzny vb2. Wartość vc->jpg_size pochodzi bezpośrednio z nagłówka S2255_MARKER_FRAME wysyłanego przez urządzenie i nie jest ograniczana, co pozwala na zapis poza buforem.
- CVE-2026-89878Nieznane
W jądrze Linux w sterowniku media s2255 funkcja s2255_probe() odczytuje 4-bajtowy znacznik i wersję z ostatnich 8 bajtów obrazu firmware. Jeśli plik firmware jest krótszy niż 8 bajtów, fw_size - 8 ulega zawinięciu i dostęp następuje poza granicami bufora.
- CVE-2026-89877Wysokie
W jądrze Linux w sterowniku media saa7164 funkcja saa7164_dev_setup() dodaje urządzenie do globalnej listy saa7164_devlist przed żądaniem regionów pamięci PCI BAR. Gdy get_resources() zawiedzie, urządzenie pozostaje na liście, a ścieżka błędu próbkowania zwalnia je, pozostawiając wiszący wpis.
- CVE-2026-89876Nieznane
W jądrze Linux w sterowniku media tda18250 występuje możliwość przepełnienia liczby całkowitej, gdy zmienna exp ma wartość zero. Operacja przesunięcia bitowego 1 << (exp - 1) może wtedy prowadzić do niezdefiniowanego zachowania.
- CVE-2026-89875Wysokie
W jądrze Linuxa w sterowniku VPE (Video Processing Engine) dla platform TI wykryto podatność polegającą na braku synchronizacji pracy wątku odzyskiwania po przepełnieniu FIFO oraz obsługi przerwań z procesem zatrzymywania strumienia. Może to prowadzić do użycia po zwolnieniu (use-after-free) zasobów strumienia, gdy przerwanie lub praca wątku zostanie wykonana po zakończeniu jego życia.
- CVE-2026-89874Nieznane
W jądrze Linux w module media v4l2-async występuje błąd polegający na usuwaniu niepowiązanego wpisu ASC przy błędzie tworzenia łącza. Wywołanie list_del() na wpisie, który nie został jeszcze wstawiony do listy, może spowodować dereferencję NULL zamiast zwrócenia oryginalnego błędu.
- CVE-2026-89873Wysokie
W jądrze Linux w module media v4l2-ctrls brakuje walidacji liczników RPS w HEVC EXT SPS. Sterowniki dekoderów mogą indeksować poza tablice dynamiczne, jeśli wartości SPS przekraczają limity HEVC (64 zestawy krótkoterminowe, 32 referencje długoterminowe) lub przekraczają maksimum DPB.
- CVE-2026-89872Nieznane
W jądrze Linux w funkcji v4l2_fwnode_parse_link() modułu media v4l2-fwnode występuje wyciek referencji fwnode. Referencja zdalnego punktu końcowego pozyskana przez fwnode_graph_get_remote_endpoint() nie jest zwalniana na ścieżce sukcesu.
- CVE-2026-89871Nieznane
W jądrze Linux w sterowniku media video-i2c wskaźnik błędu wątku jądra pozostaje w kthread_vid_cap po niepowodzeniu. Powoduje to, że kolejne wywołanie start_streaming() zwraca sukces bez uruchomienia wątku, a stop_streaming() wywołuje kthread_stop() na wskaźniku błędu, co prowadzi do awarii jądra.
- CVE-2026-89870Wysokie
W jądrze Linux w sterowniku media zoran występuje podwójne zwolnienie zarejestrowanego video_device. Funkcja zoran_exit_video_devices() wywołuje video_unregister_device(), a następnie kfree() na tym samym obiekcie, który jest już zwalniany przez callback zoran_vdev_release().
- CVE-2026-89869Nieznane
W jądrze Linux w sterowniku media qcom iris użycie disable_irq_nosync() podczas wyłączania zasilania nie czeka na zakończenie obsługi wątkowego IRQ. Procedura obsługi może nadal działać po odcięciu zasilania VPU i uzyskiwać dostęp do rejestrów sprzętowych.
- CVE-2026-89867Nieznane
W jądrze Linux w sterowniku media chips-media wave5 funkcja device_run() odkłada job_finish() nawet gdy nie zakolejkowano DEC_PIC, co prowadzi do wycieku współdzielonego slotu zadania v4l2_m2m. Powoduje to zawieszenie wszystkich instancji dekodera przy EOS, np. w GStreamer.
- CVE-2026-89866Nieznane
W jądrze Linux sterownik media chips-media wave5 ustawia flagę EOS, komunikując się z firmware przez send_firmware_command(), co wymaga dostępu do zarejestrowanych rejestrów VPU. Ścieżki STREAMOFF i V4L2_DEC_CMD_STOP mogą być wykonane, gdy urządzenie jest w stanie uśpienia runtime, co powoduje dostęp do wyłączonego sprzętu i asynchroniczny wyjątek SError, prowadzący do paniki jądra.
- CVE-2026-89865Nieznane
W jądrze Linux sterownik scsi qla2xxx w obsłudze FRU/I2C bsg używa bufora DMA o rozmiarze 256 bajtów, który nie jest zerowany, i inicjalizuje tylko kilka początkowych bajtów. Funkcja qla2x00_write_sfp() może nadpisać długość transferu wartością podaną przez użytkownika (do 255 bajtów), co powoduje odczyt niezainicjalizowanej pamięci sterty i zapis do flash urządzenia.
- CVE-2026-89864Nieznane
W jądrze Linux sterownik scsi qla2xxx w handlerach I2C bsg używa pola i2c->length (16-bit) bez sprawdzenia granic, podczas gdy bufor ma stały rozmiar 64 bajtów. Może to prowadzić do przepełnienia stosu i sterty oraz wycieku pamięci, gdy długość przekracza rozmiar bufora.
- CVE-2026-89863Wysokie
W jądrze Linux sterownik scsi qla2xxx w funkcji qla_chk_edif_rx_sa_delete_pending() występuje dereferencja wskaźnika NULL, gdy polecenie SCSI jest już zwrócone lub przerwane. Może to prowadzić do awarii jądra w kontekście przerwania.
- CVE-2026-89862Nieznane
W jądrze Linux sterownik scsi qla2xxx w funkcji qla28xx_validate_flash_image() zwraca QLA_SUCCESS bezwarunkowo, co powoduje, że transport FC BSG nie kończy zadania w przypadku błędu. Prowadzi to do wycieku zasobów warstwy blokowej i zawieszenia żądania aż do timeoutu.
- CVE-2026-89861Wysokie
W jądrze Linux sterownik scsi qla2xxx w funkcji qla24xx_report_id_acquisition() występuje use-after-free, ponieważ wirtualny port jest używany po zwolnieniu blokady vport_slock bez pobrania referencji. Współbieżne qla24xx_deallocate_vp_id() może zwolnić port, prowadząc do uszkodzenia pamięci.
- CVE-2026-89860Wysokie
W jądrze Linux sterownik scsi qla2xxx w funkcjach qla_nvme_fcp_abort() i qla_nvme_ls_abort() wywołuje INIT_WORK() przed schedule_work(), co przy wielokrotnym przerwaniu tego samego polecenia może spowodować korupcję listy workqueue i awarię lub zapętlenie workera.
- CVE-2026-89858Nieznane
W jądrze Linux sterownik scsi qla2xxx w funkcji qla2x00_update_fru_versions() kopiuje żądanie BSG do bufora stosu o stałym rozmiarze 256 bajtów i iteruje list->count razy bez ograniczenia, co może prowadzić do odczytu poza buforem i wysłania danych z pamięci stosu do urządzenia.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

