Podatności Linux kernel
7564 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-90358Wysokie
W jądrze Linux funkcja btf_distill_func_proto() akceptuje argumenty funkcji do 16 bajtów, więc 128-bitowy typ __int128 trafia do trampoliny x86 z arg_size równym 16. Obecna implementacja zakłada jednak, że argument __int128 wymaga tylko jednego rejestru, przez co obszar zapisu rejestrów jest niedoszacowany, a save_args() nadpisuje sąsiednie sloty stosu.
- CVE-2026-90357Wysokie
W sterowniku wifi mt76 (mt7915) przepływ TWT jest dodawany do dev->twt_list przed wysłaniem umowy do firmware, ale ścieżka błędu pozostawia go na liście, mimo że flowid_mask nie jest ustawiany. Slot przepływu może zostać ponownie użyty i wyzerowany, gdy wciąż znajduje się na liście, co uszkadza twt_list, a usunięcie stacji pozostawia wiszący wpis.
- CVE-2026-90353Wysokie
W sterowniku wifi mt76 (mt7915) po udanym mt7915_register_ext_phy() awaria mt7915_init_debugfs() lub mt7915_coredump_register() dla głównego PHY powodowała odkręcenie przez free_phy2, które wywoływało ieee80211_free_hw() na ext PHY wciąż zarejestrowanym w mac80211, ponieważ mt76_unregister_device() wyrejestrowuje tylko główny hw.
- CVE-2026-90347Wysokie
W jądrze Linuksa dla architektury arm64 w mechanizmie ptrace występuje problem z synchronizacją wartości 'orig_x0' i x0 podczas wchodzenia do syscalla. Poprzednia poprawka nie aktualizowała 'orig_x0' podczas przetwarzania SECCOMP_RET_TRACE, co pozwalało tracertowi na modyfikację argumentu syscalla bez kontroli seccomp i audytu.
- CVE-2026-90343Wysokie
W jądrze Linuksa w cfg80211 stwierdzono brak zatrzymywania pomiarów PMSR przed wyłączeniem interfejsów P2P i NAN. Funkcje cfg80211_stop_p2p_device() i cfg80211_stop_nan() nie wywołują cfg80211_pmsr_wdev_down(), co może pozostawić nieaktualne żądania w sterowniku i prowadzić do niespójności.
- CVE-2026-90341Wysokie
W jądrze Linuksa w sterowniku coreboot stwierdzono brak walidacji granic tabeli. coreboot_table_probe() zastępuje długość zasobu platformy wartościami z firmware, co może prowadzić do przepełnienia przy dodawaniu rozmiaru 32-bitowego lub mapowania pamięci poza zasobem przez źle sformowaną tabelę.
- CVE-2026-90332Wysokie
W jądrze Linux w sterowniku PCI dwc ep występuje podatność polegająca na tym, że w ścieżce MSI nie ma odpowiednika flush dla zapisu MSI przed odmapowaniem wpisu iATU. Może to spowodować utratę lub błędne przekierowanie zapisu MSI, który jest w locie, gdy wpis iATU jest usuwany.
- CVE-2026-90329Wysokie
W jądrze Linux w podsystemie HID występuje podatność polegająca na tym, że hid_device_io_start() pozwala na równoległe wykonywanie raportów z probe. Jeśli probe zakończy się niepowodzeniem, __hid_device_probe() zwalnia zasoby sterownika i czyści hdev->driver bez wykluczania tych wywołań zwrotnych raportów, co może prowadzić do use-after-free, np. w hidraw_report_event().
- 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-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-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-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-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-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-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-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-90268Wysokie
W jądrze Linux w sterowniku scsi: sd obsługa błędów w sd_probe() jest nieprawidłowa, gdy zawiedzie sd_large_pool_create() po udanym device_add(&sdkp->disk_dev). Ścieżka out_free_index wywołuje kfree() na już zarejestrowanym urządzeniu i wycieka wpis sysfs.
- CVE-2026-90260Wysokie
W jądrze Linux, w systemie plików btrfs na dyskach strefowych (zoned), funkcja btree_csum_one_bio() zerowała folio bufora ekstentowego przed wysłaniem, co niszczyło bufor w pamięci, gdy mógł być jeszcze używany. To prowadziło do uszkodzenia drzewa ekstentów. Poprawka zapisuje zera na dysk ze wspólnej strony zerowej, pozostawiając zawartość bufora nietkniętą.
- CVE-2026-90256Wysokie
W jądrze Linux, w Bluetooth L2CAP, pole hci_conn::l2cap_data jest dostępne bez blokad w l2cap_disconn_ind, co może prowadzić do użycia po zwolnieniu (UAF), jeśli l2cap_conn zostanie usunięty równocześnie. Poprawka używa proto_lock do ochrony l2cap_data.
- CVE-2026-90255Wysokie
W jądrze Linux, w Bluetooth hci_conn, kontekst SCO setup jest przydzielany z destruktorem NULL, co prowadzi do wycieku pamięci, gdy wpis jest anulowany. Dodatkowo kontekst przechowuje goły wskaźnik hci_conn, co może prowadzić do użycia po zwolnieniu. Poprawka trzyma połączenie i zwalnia je w destruktorze.
- CVE-2026-90246Wysokie
W jądrze Linux w module AppArmor wykryto podatność polegającą na przepełnieniu liczby całkowitej w funkcji verify_tags() podczas walidacji tabeli tagsetów z pakietu polityki. Atakujący może dostarczyć specjalnie spreparowaną politykę, która omija kontrolę granic i powoduje odczyt poza przydzieloną pamięcią. Problem jest osiągalny przez nieuprzywilejowanego użytkownika w zagnieżdżonej przestrzeni nazw, jeśli włączona jest opcja unprivileged_userns_apparmor_policy=1.
- CVE-2026-90244Wysokie
W jądrze Linux występuje błąd w podsystemie iommu/dma dotyczący braku blokady wokół listy msi_page_list. W przypadku gdy wiele urządzeń przypisanych do maszyny wirtualnej przez legacy kontener VFIO type1 współdzieli tę samą domenę IOMMU (np. ARM SMMU z IOMMU_RESV_SW_MSI), równoczesne wywołania iommu_dma_get_msi_page() mogą uszkodzić tę listę. Problem został rozwiązany poprzez przywrócenie statycznej blokady msi_prepare_lock.
- CVE-2026-90243Wysokie
W jądrze Linux w podsystemie iommu/vt-d występuje problem z czyszczeniem bitu Present przed zburzeniem skopiowanego wpisu kontekstu. Zerowanie wpisu przy ustawionym bicie Present pozostawia okno, w którym sprzęt może pobrać uszkodzony wpis, prowadząc do nieprzewidywalnego zachowania lub fałszywych błędów.
- CVE-2026-90241Wysokie
W jądrze Linux w podsystemie iommu/vt-d, podczas niepowodzenia inicjalizacji urządzenia, konteksty trybu skalowalnego nie są usuwane przed zwolnieniem tabeli PASID. Może to prowadzić do sytuacji, w której IOMMU odwołuje się do zwolnionej pamięci. Poprawka nakazuje wykonanie teardown przed zwolnieniem tabeli, analogicznie do ścieżki zwalniania urządzenia.
- CVE-2026-90240Wysokie
W jądrze Linux w podsystemie iommu/vt-d, podczas usuwania aliasów DMA, funkcja intel_context_flush_no_pasid() używa nieprawidłowego identyfikatora SID (zawsze requester ID urządzenia zamiast aliasu). Powoduje to, że wpisy kontekstu w pamięci podręcznej nie są unieważniane dla aliasów, co może prowadzić do użycia zwolnionej pamięci przez IOMMU.
- CVE-2026-90237Wysokie
W jądrze Linux naprawiono podatność w module netfilter nft_ct dotyczącą obsługi niestandardowych oczekiwań (expectations). Wcześniejsza implementacja mogła prowadzić do uszkodzenia listy oczekiwań poprzez nieprawidłowe wskaźniki po realokacji rozszerzeń conntracka. Poprawka przenosi obsługę oczekiwań do wewnętrznego helpera conntracka i wprowadza funkcję nf_conntrack_helper_release().
- CVE-2026-90234Wysokie
W jądrze Linux w podsystemie NFS, gdy klient nie może zarejestrować delegacji otrzymanej od serwera, nie wysyła DELEGRETURN. Powoduje to, że serwer myśli, że klient nadal trzyma delegację, co prowadzi do problemów z odwołaniem delegacji i pętli w menedżerze stanu klienta. Poprawka nakazuje zwrócenie delegacji w tych ścieżkach błędów.
- CVE-2026-90231Wysokie
W jądrze Linux występuje błąd w mechanizmie AppArmor dotyczący ograniczenia przejścia do nieograniczonego profilu (unconfined) dla zadań już objętych stosem profili. Nieprawidłowe zastosowanie ograniczenia pozwala na ucieczkę z sandboxa, jeśli możliwe jest wykonanie dwóch przejść przez profil unconfined. Poprawka przenosi sprawdzenie do etapu budowania etykiety profilu, tak aby zawsze weryfikowano względem unconfined.
- CVE-2026-90228Wysokie
W podsystemie nvmet jądra Linux funkcja nvmet_execute_identify_ns_zns() wywołuje bdev_is_zoned() na wskaźniku req->ns->bdev, który dla przestrzeni nazw opartej na pliku jest NULL. Host może wysłać polecenie Identify z CNS 05h i CSI 02h, co prowadzi do dereferencji NULL i awarii jądra (oops). Poprawka odrzuca polecenie, gdy przestrzeń nazw nie jest oparta na urządzeniu blokowym.
- CVE-2026-90227Wysokie
W jądrze Linux polecenie NVME_IOCTL_SUBMIT_IO nie wywołuje funkcji nvme_cmd_allowed(), w przeciwieństwie do IO_CMD i IO64_CMD. Nieuprzywilejowany użytkownik może w ten sposób wykonywać operacje I/O na urządzeniu partycji lub zapisywać przez deskryptor pliku otwarty tylko do odczytu. Poprawka przekazuje flagi i open_for_write oraz odrzuca niedozwolone polecenia z błędem -EACCES.
- CVE-2026-90225Wysokie
W podsystemie NFC LLCP jądra Linux funkcja nfc_llcp_getsockopt() odczytuje wskaźnik llcp_sock->local przed założeniem blokady gniazda, a następnie używa go w sekcji krytycznej. Wyścig z równoległym wywołaniem bind() może spowodować użycie zwolnionego wskaźnika (use-after-free). Poprawka przenosi odczyt i sprawdzenie NULL do sekcji chronionej przez lock_sock().
- CVE-2026-90224Wysokie
W podsystemie NFC NCI jądra Linux funkcje nci_close_device() i nci_rx_work mogą równocześnie wywołać nci_data_exchange_complete(), co prowadzi do podwójnego wywołania sock_put() i niedomknięcia licznika referencji gniazda. Powoduje to zwolnienie gniazda będącego w użyciu (use-after-free). Poprawka zastępuje clear_bit() funkcją test_and_clear_bit(), dzięki czemu tylko pierwszy wywołujący kontynuuje.
- CVE-2026-90223Wysokie
W podsystemie NFC LLCP jądra Linux funkcja nfc_llcp_recv_snl() przetwarza listę TLV bez ograniczenia odczytów do rzeczywistych danych skb, co prowadzi do niedomknięcia długości, odczytu poza buforem i błędu w strncmp()/nfc_llcp_sock_from_sn(). Sąsiednie urządzenie NFC może to wykorzystać bez uwierzytelnienia, ponieważ aktywacja łącza LLCP następuje automatycznie po NFC-DEP. Poprawka przechodzi po TLV wskaźnikiem z ograniczeniem do skb_tail_pointer() i waliduje długości.
- CVE-2026-90217Wysokie
W jądrze Linux w weryfikatorze BPF porównywanie typów iteratorów podczas przycinania stanu nie rozróżnia stanów MEM_RCU i PTR_UNTRUSTED. Może to pozwolić weryfikatorowi na przycięcie niebezpiecznej ścieżki i zaakceptowanie niebezpiecznego programu BPF.
- CVE-2026-90211Niskie ryzyko· EPSS 10%
W jądrze Linux na architekturze s390 występuje brak wyczyszczenia rejestru docelowego przy błędzie atomowej operacji RMW na wskaźniku arena w BPF. Gdy operacja atomowa z flagą BPF_FETCH powoduje błąd na niezamapowanej stronie arena, program wznawia działanie z nieprawidłową wartością rejestru zamiast zerem, co odbiega od zachowania innych dostępu BPF_PROBE_*. Poprawka uzupełnia pole probe->reg na podstawie bpf_atomic_load_reg().
- CVE-2026-90210Wysokie
W jądrze Linux występuje błąd use-after-free w funkcji bpf_trampoline_multi_attach_free przy niepowodzeniu aktualizacji trampoliny BPF. Gdy bpf_trampoline_update() zawiedzie przed wywołaniem modify_fentry_multi()/unregister_fentry_multi(), cur_image pozostaje niezmienione i ftrace nadal do niego wywołuje, a zwolnienie old_image powoduje UAF. Poprawka zwalnia old_image tylko wtedy, gdy różni się od cur_image.
- CVE-2026-90207Wysokie
Podatność w jądrze Linux w ALSA sequencer MIDI rawmidi dotyczy wyścigu podczas zamykania podstrumienia rawmidi. Funkcja snd_midi_input_event() może działać równolegle z zamykaniem, co prowadzi do dereferencji wskaźnika NULL i awarii jądra. Problem występuje w ścieżce wejściowej i został naprawiony przez serializację zamykania z event_input przy użyciu RCU.
- CVE-2026-90205Wysokie
W jądrze Linux w systemie plików OCFS2 wykryto podatność polegającą na braku walidacji numeru slotu sierot (orphan slot) podczas odczytu i-węzła. Uszkodzony dinode z flagą OCFS2_ORPHANED_FL może zawierać nieprawidłowy numer slotu, co prowadzi do odczytu poza zakresem pamięci (use-after-free) podczas operacji wymazywania i-węzła.
- CVE-2026-90204Wysokie
W jądrze Linux w systemie plików ocfs2 występuje błąd use-after-free wynikający z braku walidacji pola i_dio_orphaned_slot podczas odczytu i-węzła. Uszkodzony dinode append-DIO może zawierać wartość spoza zakresu slotów zamontowanego systemu plików, co prowadzi do użycia nieprawidłowego wskaźnika i błędu UAF w ocfs2_get_system_file_inode(). Poprawka odrzuca aktywny i_dio_orphaned_slot spoza zakresu podczas walidacji dinode.
- CVE-2026-90203Wysokie
W jądrze Linux w systemie plików Squashfs występuje błąd polegający na braku sprawdzenia, czy odczytany z dysku offset bloku nie jest ujemny. Ujemny offset (np. do zdekompresowanego bloku fragmentu) powoduje dostęp poza granicami pamięci w squashfs_copy_data(). Poprawka sprawdza, czy offset jest ujemny, i zwraca 0, co jest zgodne z istniejącym zachowaniem dla offsetu poza blokiem.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

