Podatności Linux kernel
10 407 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90326Wysokie
W jądrze Linux w blk-cgroup występuje wyścig między aktywacją polityki (blkcg_activate_policy()) a niszczeniem blkg. Podczas przełączania harmonogramu IO blkcg_activate_policy() może wyścignąć się ze współbieżnym usuwaniem blkcg, prowadząc do use-after-free i wycieku pamięci. Dodatkowo blkg_free_workfn() zwalnia pd przed usunięciem blkg z q->blkg_list, co pozwala na alokację nowego pd dla niszczonego blkg.
- CVE-2026-90325Wysokie
W jądrze Linux w blk-cgroup funkcja blkcg_activate_policy() może wyścignąć się ze współbieżnym usuwaniem blkcg podczas przełączania harmonogramów IO, prowadząc do use-after-free w rcu_accelerate_cbs. Problem występuje gdy blkg jest w trakcie niszczenia, a blkcg_activate_policy() próbuje pobrać referencję do niego.
- CVE-2026-90324Wysokie
W jądrze Linux w module ublk funkcja import_ubuf() może zawieść, jeśli zakres adresów podany przez serwer ublk w przestrzeni użytkownika znajduje się poza dozwoloną przestrzenią adresową użytkownika. W takim przypadku przekazywana jest niezainicjalizowana struktura iov_iter do ublk_copy_user_pages().
- CVE-2026-90323Niskie ryzyko· EPSS 10%
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-90322Niskie ryzyko· EPSS 10%
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-90321Wysokie
W jądrze Linux w systemie plików OCFS2 wykryto podatność polegającą na braku walidacji granic atrybutów rozszerzonych (xattr) przechowywanych inline w bloku i-węzła. Uszkodzone metadane mogą prowadzić do odczytu poza zakresem pamięci (use-after-free) podczas wywołań getxattr() lub listxattr().
- CVE-2026-90320Wysokie
W jądrze Linux w systemie plików ocfs2 funkcja ocfs2_validate_xattr_block() sprawdza nagłówek bloku xattr, ale nie weryfikuje, czy xh_count i przesunięcia wpisów mieszczą się w bloku dla bloków nieindeksowanych. Zindeksowane kubełki również docierają do konsumentów list/get bez sprawdzenia granic wpisów, co prowadzi do use-after-free w ocfs2_xattr_list_entries().
- CVE-2026-90319Niskie ryzyko· EPSS 11%
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-90318Niskie ryzyko· EPSS 11%
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-90317Wysokie
W jądrze Linux w programach BPF typu sleepable spin lock może być jedyną ochroną RCU dla wskaźnika kptr. Po ostatnim bpf_spin_unlock() weryfikator pozostawia wskaźnik jako ważny, co pozwala innemu CPU zwolnić obiekt przed jego użyciem, prowadząc do use-after-free (np. w __bpf_get_task_stack()).
- CVE-2026-90316Wysokie
W jądrze Linux sterownik drm/omap DSI kopiował tablicę ISR, aby umożliwić wyrejestrowanie procedur obsługi przerwań. Ponieważ do tych ISR przekazywane są obiekty alokowane na stosie, istnieje ryzyko use-after-free, gdy przerwania są wyrejestrowywane w trakcie ich obsługi.
- CVE-2026-90315Niskie ryzyko· EPSS 10%
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-90314Niskie ryzyko· EPSS 12%
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-90313Niskie ryzyko· EPSS 11%
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-90312Wysokie
W jądrze Linuxa wykryto podatność w weryfikatorze BPF. Podczas obsługi operacji load-acquire, gdzie rejestr źródłowy i docelowy są takie same, weryfikator nie sprawdza poprawnie typu wskaźnika, co umożliwia dostęp do niekonwertowanych obiektów jądra i może prowadzić do ujawnienia danych lub pomyłki typów.
- CVE-2026-90311Niskie ryzyko· EPSS 11%
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-90309Wysokie
W jądrze Linux sterownik RDMA/erdma w obsłudze zdarzeń EQ wyszukuje CQ z dev->cq_xa i wywołuje callbacki poza blokadą xarray. Funkcja erdma_destroy_cq() może usunąć CQ i zwolnić jej bufor oraz rekord doorbell, gdy wcześniej zaplanowany handler EQ nadal używa CQ, co prowadzi do use-after-free.
- CVE-2026-90308Wysokie
W jądrze Linux w sterowniku RDMA/erdma występuje podatność use-after-free. Ścieżki obsługi zdarzeń krytycznych QP (AE) oraz iWARP CM pobierają wskaźniki QP z dev->qp_xa i używają ich poza blokadą xarray, przez co erdma_destroy_qp() może zwolnić zasoby QP w trakcie takiego odwołania. Poprawka dodaje funkcję erdma_qp_get_by_qpn() pobierającą referencję kref pod blokadą oraz usuwa QP z xarray przed zwolnieniem referencji niszczącej.
- CVE-2026-90306Niskie ryzyko· EPSS 10%
W jądrze Linux na architekturze ARM usunięto zastępczy handler hw_breakpoint_cfi_handler(), który bez potrzeby przejmował typ breakpointu 0x03 (ARM_ENTRY_CFI_BREAKPOINT). Gdy CFI nie jest aktywnie używane lub breakpoint pochodzi z przestrzeni użytkownika, hw_breakpoint_pending() zwraca teraz 1 (nieobsłużony fault), umożliwiając użytkownikowi skorzystanie z tego breakpointu.
- CVE-2026-90305Niskie ryzyko· EPSS 9%
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-90304Niskie ryzyko· EPSS 9%
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-90303Niskie ryzyko· EPSS 12%
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-90302Niskie ryzyko· EPSS 11%
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-90300Niskie ryzyko· EPSS 11%
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-90299Niskie ryzyko· EPSS 11%
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.
- CVE-2026-90298Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku drm/sun4i funkcja of_find_device_by_node() pobiera referencję do urządzenia TCON TOP, która nie jest zwalniana po zakończeniu konfiguracji multipleksera. Prowadzi to do wycieku referencji urządzenia.
- CVE-2026-90297Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku drm/sun4i funkcja sun4i_crtc_init() zwraca zwykły NULL przy błędzie inicjalizacji warstwy, podczas gdy inne ścieżki błędów zwracają wskaźnik błędu. Wywołujący sun4i_tcon_bind() sprawdza wynik przez IS_ERR(), więc kontynuuje z tcon->crtc ustawionym na NULL, co prowadzi do wyłuskania NULL w drm_crtc_mask() i oops.
- CVE-2026-90296Niskie ryzyko· EPSS 12%
W jądrze Linux w sterowniku cpufreq imx6q tablica imx6_soc_volt jest alokowana przez devm_kcalloc() względem cpu_dev, które nigdy nie jest odłączane, więc jego lista devres nie jest zwalniana, a funkcja remove nie zwalnia tablicy. Każde probe dodaje alokację pozostającą na cały czas życia systemu.
- CVE-2026-90295Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku cpufreq imx6q tablica imx6_soc_volt jest alokowana na nowo przy każdym probe, ale wypełniana przez soc_opp_count, który ma statyczny czas przechowywania i nie jest resetowany. Drugie wiązanie po odłączeniu kontynuuje indeksowanie od miejsca, w którym skończyło pierwsze, i zapisuje poza końcem nowej tablicy.
- CVE-2026-90294Wysokie
W jądrze Linux w podsystemie IB/isert występuje podatność polegająca na wysłaniu końcowej odpowiedzi logowania przed zarejestrowaniem sesji. Inicjator, który po otrzymaniu odpowiedzi natychmiast wysyła polecenie SCSI, może spowodować wykonanie go na sesji z niezainicjalizowanym wskaźnikiem se_tpg, co prowadzi do błędu NULL dereference i awarii systemu.
- CVE-2026-90293Wysokie
W jądrze Linux rozwiązano podatność w module IB/isert, gdzie bufory odbioru pełnej funkcjonalności były publikowane przed zarejestrowaniem sesji. Inicjator, który nie czekał na końcową odpowiedź Login Response, mógł spowodować wykonanie polecenia SCSI na sesji z pustym se_tpg, prowadząc do awarii jądra (oops) w target_submit. Poprawka przenosi publikowanie buforów do isert_get_rx_pdu() i wykonuje je przed wysłaniem odpowiedzi.
- CVE-2026-90292Wysokie
W jądrze Linux w module RDMA/siw funkcja siw_accept() wyszukuje QP podany przez przestrzeń użytkownika. Jeśli QP jest już w stanie RTS, funkcja przechodzi do sprzątania błędów przed powiązaniem przychodzącego CEP. Sprzątanie zakłada, że bieżące wywołanie zainstalowało powiązanie, ale qp->cep może wskazywać na CEP istniejącego połączenia, co prowadzi do zwolnienia przychodzącego CEP i use-after-free.
- CVE-2026-90291Wysokie
W jądrze Linux kod kmod dups używa RCU do zapewnienia, że instancja kmod_dup_req jest zwalniana dopiero gdy nie jest już referencjonowana. Jednak równolegli użytkownicy w kmod_dup_request_exists_wait() nie wchodzą w sekcję krytyczną odczytu RCU, co może prowadzić do use-after-free.
- CVE-2026-90290Niskie ryzyko· EPSS 11%
W jądrze Linux na architekturze arm64 funkcja swsusp_arch_suspend() przy błędzie swsusp_mte_save_tags() powraca z zamaskowanym stanem DAIF, co jest niezgodne z oczekiwaniami. Poprawka przywraca zapisany stan DAIF przed powrotem ze ścieżki błędu.
- CVE-2026-90289Wysokie
W jądrze Linux w sterowniku drm/amd/display stała AMDGPU_DM_MAX_DISPLAY_INDEX wynosi 31, co sugeruje maksymalnie 32 złącza, ale jest używana jak MAX_DISPLAY_COUNT. Powoduje to przesunięcie o jeden względem rdzenia DRM, który obsługuje maksymalnie 32 złącza. Poprawka zmienia nazwę stałej i zwiększa rozmiar tablic HDCP do 32.
- CVE-2026-90288Wysokie
W jądrze Linux w sterowniku PHY Renesas R-Car Gen2 występuje podwójne wywołanie of_node_put() w ścieżce błędu podczas tworzenia PHY. Makro for_each_child_of_node_scoped() automatycznie zwalnia referencję do węzła, a jawne wywołanie of_node_put() powoduje podwójne zwolnienie. Poprawka usuwa zbędne wywołanie, pozostawiając sprzątanie zakresowe.
- CVE-2026-90287Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku PHY Sunplus występuje nieprawidłowa obsługa błędów w funkcji sp_uphy_init(). Ścieżki błędów nie cofają poprawnie wykonanych operacji: przy niepowodzeniu clk_prepare_enable() następuje bezpośredni powrót, przy niepowodzeniu reset_control_deassert() zwalniany jest tylko zegar, a przy niepowodzeniu update_disc_vol() skok do etykiety err_reset zapewnia zwolnienie zegara i resetu. Poprawka porządkuje te ścieżki.
- CVE-2026-90286Wysokie
W jądrze Linux w sterowniku DRM AMDGPU dla GFX6 brakuje użycia PFP (pre-fetch parser) na kolejkach obliczeniowych. Na GFX6 kolejki obliczeniowe używają tej samej ścieżki CP co grafika, ale bez obsługi komend rysowania. Poprawka dodaje użycie PFP do zapisów rejestrów, synchronizacji potoku i po VM flush, aby zapobiec problemom z wykonywaniem.
- CVE-2026-90285Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku SCSI QLogic (qla2xxx) występuje zbędny odczyt VPD flash w ścieżce odczytu sysfs. Funkcja qla2x00_sysfs_read_vpd() wywołuje read_optrom() drugi raz po zwolnieniu mutexu optrom_mutex. Ten powtórzony odczyt jest zbędny i wykonywany bez trzymania mutexu, co naraża dostęp do flash na współbieżne operacje. Poprawka usuwa to podwójne wywołanie.
- CVE-2026-90284Niskie ryzyko· EPSS 11%
W jądrze Linux w firmware_loader występuje problem z kolejkowaniem zakończonych żądań fallback sysfs. Funkcja fw_load_sysfs_fallback() wywołuje device_add() przed dodaniem fw_priv do pending_fw_head. To pozwala użytkownikowi przestrzeni użytkownika na ukończenie żądania przed jego zakolejkowaniem, co prowadzi do zakolejkowania już zakończonego żądania i potencjalnego błędu przy następnym żądaniu. Poprawka sprawdza, czy żądanie jest już zakończone i nie kolejkuje go.
- CVE-2026-90283Niskie ryzyko· EPSS 12%
W jądrze Linux w hugetlbfs występuje problem z zwalnianiem subpoola przy niepowodzeniu fill_super. Funkcja hugetlbfs_fill_super() alokuje subpool stron ogromnych, a w przypadku niepowodzenia tworzenia katalogu głównego, ścieżka błędu zwalnia subpool przez kfree(), co pomija hugepage_put_subpool() i może pozostawić rezerwacje min_size. Poprawka używa hugepage_put_subpool() w ścieżce błędu.
- CVE-2026-90282Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku phy qcom qmp-usb-legacy występuje luka, w której callback runtime suspend może zostać uruchomiony po pm_runtime_enable(), ale przed pm_runtime_forbid(). Powoduje to dereferencję niezainicjalizowanego wskaźnika qmp->phy i crash. Problem może też wystąpić, gdy użytkownik ponownie włączy runtime-pm przez sysfs przed inicjalizacją PHY.
- CVE-2026-90281Niskie ryzyko· EPSS 11%
W jądrze Linux w sterowniku phy qcom snps-femto-v2 występuje luka polegająca na tym, że runtime PM jest włączane przed utworzeniem PHY, a callbacki runtime PM dereferencują jeszcze niegotową instancję hsphy. Powstaje okno, w którym callback suspend może wywołać dereferencję NULL. Poprawka używa pm_runtime_get_noresume() przed włączeniem runtime PM i zwalnia referencję po utworzeniu PHY.
- CVE-2026-90280Niskie ryzyko· EPSS 9%
W jądrze Linux w sterowniku phy qcom qmp-usb występuje luka, w której callback runtime suspend może zostać uruchomiony po pm_runtime_enable(), ale przed pm_runtime_forbid(). Powoduje to dereferencję niezainicjalizowanego wskaźnika qmp->phy i crash. Problem może też wystąpić, gdy użytkownik ponownie włączy runtime-pm przez sysfs przed inicjalizacją PHY.
- CVE-2026-90279Niskie ryzyko· EPSS 9%
W jądrze Linux w podsystemie md/raid5 funkcja raid5_bitmap_sector_map() wyrównuje zakres tablicy do pełnej szerokości paska RAID5 przed konwersją na sektory komponentów. Szerokość ta nie zawsze jest potęgą dwójki, przez co stare logika round_down()/round_up() daje błędne zakresy. Poprawka używa arytmetyki opartej na sector_div(), aby wyrównanie odpowiadało rzeczywistej szerokości paska RAID5.
- CVE-2026-90278Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie md funkcja __md_stop() niszczyła bitmapę przed wywołaniem mddev_detach(), przez co mddev_detach() pomijało bitmap_ops->wait_behind_writes(). W przypadku llbitmap powodowało to, że ukończenia zapisów behind-write w RAID1 mogły nastąpić po zwolnieniu pamięci llbitmap. Poprawka wywołuje mddev_detach() przed md_bitmap_destroy().
- CVE-2026-90277Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie md/md-llbitmap funkcja llbitmap_create() publikuje mddev->bitmap przed odczytem superbloku bitmapy. Jeśli llbitmap_read_sb() zawiedzie, stara ścieżka czyszczenia zwalniała llbitmap przed wyczyszczeniem mddev->bitmap, przez co czytelnicy tacy jak /proc/mdstat mogli zobaczyć nieaktualny wskaźnik. Poprawka czyści mddev->bitmap przy trzymanym mutexie bitmap_info.mutex.
- CVE-2026-90276Niskie ryzyko· EPSS 10%
W jądrze Linux w podsystemie md/md-llbitmap funkcja llbitmap_destroy() usuwa pending_timer przed opróżnieniem md_llbitmap_io_wq, ale daemon_work może nadal być zakolejkowany lub uruchomiony i ponownie uzbroić pending_timer. Jeśli nastąpi to podczas niszczenia, timer może pozostać uzbrojony po zwolnieniu llbitmap i później odwołać się do zwolnionej pamięci. Poprawka dodaje bit BITMAP_SHUTDOWN i używa timer_shutdown_sync().
- CVE-2026-90275Niskie ryzyko· EPSS 6%
W jądrze Linux w podsystemie md/raid1 funkcja raid1_takeover() ustawia conf->array_frozen = 1 na nowo utworzonym r1conf i nigdy tego nie czyści, przez co każde I/O do macierzy zatrzymuje się trwale, gdy _wait_barrier() widzi wartość 1. Wcześniej było to nieszkodliwe, bo level_store() wywoływało mddev_resume(), ale commit b39f35ebe86d usunął to wywołanie. Poprawka po prostu nie ustawia array_frozen w raid1_takeover().
- CVE-2026-90274Niskie ryzyko· EPSS 6%
W jądrze Linux w sterowniku coresight etm4x użycie (nrseqstate - 1) w pętli inicjalizującej lub ustawiającej TRCSEQEVR<n> może powodować niedomiar (underflow), gdy TRCIDR5.NUMSEQSTATE wynosi 0b000. Poprawka wprowadza pole nr_seq_ctrls oraz makro ETM_MAX_SEQ_TRANSITIONS i stosuje je do konfiguracji pól TRCSEQEVR<n>.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

