Podatności Linux kernel
7564 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2026-89720Wysokie
W jądrze Linux funkcja ubifs_sb_verify_signature() sprawdza pole ubifs_sig_node->len z błędnym znakiem, dodając rozmiar nagłówka zamiast go odejmować. To akceptuje zadeklarowaną długość do 2 * UBIFS_SIG_NODE_SZ większą niż węzeł faktycznie zawiera, co prowadzi do odczytu poza granicami bufora c->sbuf podczas przetwarzania podpisu PKCS7.
- CVE-2026-89719Niskie ryzyko· EPSS 6%
W jądrze Linux funkcja read_block_state() w zram oblicza nr_pages przed zdobyciem dev_lock. Jeśli urządzenie zostanie zresetowane i ponownie zainicjowane z mniejszym disksize przed zdobyciem blokady, nr_pages nadal opisuje starą tablicę, a pętla może wywołać slot_lock() poza końcem nowo przydzielonej tablicy.
- CVE-2026-89718Niskie ryzyko· EPSS 5%
W jądrze Linux funkcja writeback_store() w zram oblicza granice skanowania tablicy przed zdobyciem dev_lock. Reset i rekonfiguracja z mniejszym disksize może zastąpić zram->table, podczas gdy writeback_store() czeka na blokadę, co po jej zdobyciu prowadzi do skanowania nowej tablicy ze starą górną granicą i dostępu poza granicami.
- CVE-2026-89717Niskie ryzyko· EPSS 6%
W jądrze Linux funkcja zram_destroy_comps() resetuje wszystkie kompresory i pozostawia je ustawione na NULL, w tym kompresor główny, co jest nieprawidłowym stanem urządzenia. Może to prowadzić do wywołania strcmp() na wskaźniku NULL w comp_algorithm_show().
- CVE-2026-89716Niskie ryzyko· EPSS 10%
W jądrze Linux w module zram brakowało walidacji parametrów deflate. Wartość winbits podana przez użytkownika nie była sprawdzana przed przekazaniem do zlib_deflate_workspacesize(), co wywoływało BUG_ON() przy wartościach spoza dozwolonego zakresu.
- CVE-2026-89715Niskie ryzyko· EPSS 10%
W jądrze Linux w mechanizmie NFS/localio występuje wyciek referencji, gdy funkcja nfs_uuid_add_file() napotka wyścig z nfs_uuid_put() i zwróci błąd -ENXIO. W takiej sytuacji ścieżka obsługi błędu nie zwalnia referencji do nfsd_file oraz nfsd_net, co uniemożliwia poprawne zamknięcie zasobów sieciowych.
- CVE-2026-89714Niskie ryzyko· EPSS 10%
W jądrze Linux występuje wyciek pamięci w podsystemie NFS. Funkcja nfs4_server_common_setup() alokuje tablicę delegation_hash_table, ale wskaźnik server->destroy, który odpowiada za jej zwolnienie, jest przypisywany dopiero na końcu funkcji. Jeśli którykolwiek z pośrednich kroków zakończy się błędem, tablica nie zostaje zwolniona, co prowadzi do wycieku 4 KiB pamięci jądra przy każdej nieudanej próbie montowania NFSv4.
- CVE-2026-89711Wysokie
W jądrze Linux usunięto błędny WARN_ON_ONCE z funkcji nfsd_mode_check(). Założenie uzasadniające ostrzeżenie było nieprawidłowe w przypadku reeksportu NFS, gdzie funkcja może napotkać dentry bez i_op->lookup. Zwracanie nfserr_notdir pozostaje konieczne, aby chronić ścieżkę lookup_one_unlocked() przed wywołaniem wskaźnika NULL.
- CVE-2026-89710Niskie ryzyko· EPSS 6%
W jądrze Linux ścieżka out_forget w funkcji pnfs_layout_process() nie opróżniała listy free_me, co prowadziło do wycieku segmentów layoutu. Poprzednie poprawki dodawały i usuwały opróżnianie listy, a obecna zmiana przywraca wywołanie pnfs_free_lseg_list().
- CVE-2026-89709Wysokie
W jądrze Linux wskaźnik nlmsvc_ops był publikowany i czyszczony zwykłymi zapisami, a lockd odwoływał się do niego bez zabezpieczenia z miejsc dyspozycji w fs/lockd/svcsubs.c. Po usunięciu modułu nfsd nieaktualne odwołanie mogło prowadzić do dereferencji NULL lub use-after-free tekstu modułu.
- CVE-2026-89707Wysokie
W jądrze Linux funkcja nfsd_cross_mnt() przy błędzie follow_down() przechodziła do etykiety out bez zwolnienia referencji ścieżki pobranych przez mntget() i dget(). Powodowało to wyciek referencji przy każdym nieudanym cross-mount, blokując odmontowanie i przypinając dentries.
- CVE-2026-89680Wysokie
W jądrze Linux w funkcji nfsd4_copy() występuje wyciek pamięci nfsd_file, gdy konfiguracja kopiowania między serwerami (inter-server COPY) zakończy się niepowodzeniem. Funkcja zwraca błąd bezpośrednio, pomijając etykietę out:, która zwolniłaby referencję do pliku. Każda nieudana operacja powoduje wyciek jednego obiektu nfsd_file, blokując plik, i-węzeł, dentry i punkt montowania.
- CVE-2026-89679Wysokie
W jądrze Linux w funkcji nfsd4_setattr() występuje dereferencja NULL, gdy żądanie SETATTR zawiera atrybuty czasu delegacji (FATTR4_WORD2_TIME_DELEG_ACCESS lub FATTR4_WORD2_TIME_DELEG_MODIFY) i klient poda specjalny stateid (wszystkie bajty 0xFF). Wskaźnik st pozostaje NULL, a następnie jest dereferencjonowany, powodując oops jądra. Podatność jest zdalnie wyzwalana przez dowolnego klienta NFSv4 bez uwierzytelnienia.
- CVE-2026-89678Wysokie
W jądrze Linux w funkcji nfsd_direct_write() występuje błąd wykrywania częściowego zapisu. Po wywołaniu vfs_iocb_iter_write() pole iter.count zawiera pozostałą liczbę bajtów, a nie oryginalną długość, więc warunek przerwania pętli jest nieprawidłowy. Krótkie zapisy kończące się między 50% a 99% segmentu nie są wykrywane, co prowadzi do zapisu kolejnego segmentu pod niewłaściwym przesunięciem i błędnego raportowania liczby bajtów do klienta NFS.
- CVE-2026-89673Niskie ryzyko· EPSS 10%
W jądrze Linux w funkcji nfsd4_ff_encode_getdeviceinfo() występuje błąd w obliczaniu dopełnienia XDR. Rezerwacja da_addr_body jest niezgodna z rzeczywistą liczbą bajtów zapisywanych przez xdr_encode_opaque(), co powoduje wyciek zawartości bufora odpowiedzi do klienta i błędne wyrównanie. Problem występuje przy każdej odpowiedzi flexfile GETDEVICEINFO.
- CVE-2026-89670Wysokie
W jądrze Linux naprawiono podatność w module nfsd, gdzie funkcja nfsd_open_local_fh() odwoływała się do wskaźnika nfsd_file bez utrzymywania blokady RCU. Obiekt mógł zostać zwolniony i ponownie przydzielony przez inny wątek, co prowadziło do użycia zwolnionej pamięci (use-after-free). Poprawka polega na objęciu operacji cmpxchg i pobrania referencji sekcją rcu_read_lock().
- CVE-2026-89668Wysokie
W jądrze Linux w init_nfsd() funkcja nfsd_debugfs_init() jest wywoływana przed nfsd4_init_slabs(). Jeśli alokacja slab się nie powiedzie, wczesny return pomija nfsd_debugfs_exit(), pozostawiając osierocone pliki debugfs ze wskaźnikami fops do zwolnionej pamięci modułu.
- CVE-2026-89666Niskie ryzyko· EPSS 6%
W jądrze Linux w module nfsd klient mógł wysłać żądanie NFSv3 SETATTR, CREATE, MKDIR, SYMLINK lub MKNOD z polem nseconds dla atime/mtime poza prawidłowym zakresem (tv_nsec >= NSEC_PER_SEC). Wartość przechodziła walidację na poziomie protokołu, ale nie była normalizowana, co prowadziło do uszkodzenia metadanych na dysku w systemach plików ext4 i XFS (błędne sekundy i rok). Poprawka odrzuca takie żądania z błędem NFS3ERR_INVAL przed dokonaniem jakichkolwiek zmian.
- CVE-2026-89665Wysokie
W jądrze Linux w dekoderze atrybutów NFSv2 (svcxdr_decode_sattr) wartość useconds z sieci jest mnożona przez 1000 i zapisywana do pola tv_nsec. Na architekturach 32-bitowych (ILP32) zbyt duża wartość useconds, np. 4294968, powoduje przepełnienie i zapisanie błędnej wartości tv_nsec (np. 704), która przechodzi późniejszą weryfikację zakresu. Podatność dotyczy operacji SETATTR i CREATE w NFSv2 i została naprawiona poprzez odrzucanie wartości useconds większych niż 1000000 już na etapie dekodowania.
- CVE-2026-89663Wysokie
W jądrze Linux w module nfsd wykryto podatność use-after-free związaną ze stanami copy-notify (stateid). Funkcja _free_cpntf_state_locked() odłączała wpis z listy dopiero po osiągnięciu zera licznika referencji, więc ścieżki unieważniania (opróżnianie listy nadrzędnego stid, OFFLOAD_CANCEL oraz wygaśnięcie laundromat) mogły zwolnić referencję bez usunięcia wpisu, pozostawiając go widocznym dla równoczesnego czytelnika. Naprawa wprowadza revoke_cpntf_state_locked(), która najpierw usuwa wpis z IDR i sc_cp_list, a finalne zwolnienie odkłada do momentu zwolnienia referencji przez posiadacza.
- CVE-2026-89661Niskie ryzyko· EPSS 9%
W jądrze Linux zapis ścieżki systemu plików do /proc/fs/nfsd/unlock_filesystem uruchamia nfsd4_cancel_copy_by_sb() przed pobraniem nfsd_mutex i przed potwierdzeniem, że nn->nfsd_serv jest ustawione. Po zamknięciu serwera nn->conf_id_hashtbl zostało zwolnione, ale wskaźnik pozostał, co prowadzi do użycia zwolnionej pamięci (use-after-free).
- CVE-2026-89657Wysokie
W jądrze Linux w module libceph występuje podatność polegająca na braku walidacji map extentów OSD przed przesunięciem kursora. Funkcja osd_sparse_read() nie sprawdza, czy każdy extent jest monotoniczny i mieści się w zakresie żądania, co pozwala złośliwemu OSD na przesunięcie kursora poza bufor i wywołanie BUG_ON. Prowadzi to do awarii klienta Ceph.
- CVE-2026-89647Wysokie
W jądrze Linux w podsystemie Ceph funkcja ceph_cap_reclaim_work() wielokrotnie się przekolejkowała, gdy ceph_trim_dentries() zwracało -EAGAIN, co prowadziło do zapętlenia zużywającego CPU bez postępu. Problem pogłębiało odświeżanie ważnych dzierżaw katalogów (TOUCH) zamiast ich pozostawiania (KEEP), co uniemożliwiało naturalne zakończenie skanowania. Poprawka zmienia logikę zwalniania dzierżaw i warunki zwracania -EAGAIN.
- CVE-2026-89646Wysokie
W jądrze Linux naprawiono wyciek referencji do i-węzła w systemie plików Ceph podczas przerywania zapisu przy odmontowywaniu. Gdy funkcja ceph_inc_osd_stopping_blocker() zawiedzie w trakcie odmontowywania, żądanie zapisu jest przerywane, a pobrana referencja bufora zapisu (i_wrbuffer_ref) nie jest zwalniana, przez co i-węzeł nie może zostać usunięty i pojawia się błąd jądra "Busy inodes after unmount of ceph".
- CVE-2026-89645Niskie ryzyko· EPSS 13%
W jądrze Linux w funkcji btrfs_recover_relocation() występuje wyciek referencji do reloc_root podczas nieudanego odzyskiwania relokacji. Gdy ładowanie lub dodawanie kolejnego roota albo pierwszy commit transakcji zakończy się błędem, ścieżka out_unset nie zwalnia referencji trzymanych przez fs_root->reloc_root, co prowadzi do pozostawienia referencji. Poprawka utrzymuje tymczasowe referencje do fs rootów i zwalnia je w razie błędu.
- CVE-2026-89644Niskie ryzyko· EPSS 6%
W jądrze Linux w funkcji btrfs_dio_iomap_begin() występuje wyciek extent map przy bezpośrednim zapisie I/O do zakresu NOCOW. Gdy btrfs_create_dio_extent() zwróci błąd (np. przy nieudanej alokacji ordered extent), funkcja zwraca błąd bez zwolnienia wejściowej extent map. Poprawka sprawdza błąd przed zastąpieniem mapy i zwalnia ją w razie niepowodzenia.
- CVE-2026-89642Niskie ryzyko· EPSS 5%
W jądrze Linux w funkcji cifs_setsize() brakuje wywołania pagecache_isize_extended() przy rozszerzaniu pliku. Funkcja wywołuje truncate_pagecache(), ale pomija zerowanie końca strony obejmującej stary EOF, przez co brudne bajty w tym obszarze mogą zostać zapisane na serwerze i ujawnić nieaktualne dane w nowo rozszerzonym zakresie. Poprawka dodaje wywołanie pagecache_isize_extended() przed truncate_pagecache().
- CVE-2026-89641Wysokie
W jądrze Linux w funkcji cifs_file_set_size() występuje use-after-free. Gdy gałąź else znajdzie uchwyt pliku do zapisu przez find_writable_file(), pożycza tcon i server z uchwytu, próbuje wykonać RPC set_file_size(), a następnie zwalnia uchwyt przez cifsFileInfo_put(). Jeśli set_file_size() zawiedzie, wykonanie przechodzi do ścieżki opartej na ścieżce, która ponownie używa pożyczonego tcon i server, mimo że cifsFileInfo_put() mógł zwolnić tcon. Poprawka ustawia tcon = NULL po cifsFileInfo_put(), aby wymusić bezpieczną ścieżkę cifs_sb_tlink().
- CVE-2026-89638Wysokie
W kliencie SMB (cifs.ko) jądra Linux występuje luka, w której zapis do pliku z ustawionym bitem setuid/setgid nie usuwał tego bitu na serwerze przy montowaniu z opcjami cifsacl, modefromsid lub rozszerzeniami POSIX/Unix. VFS zgłaszał żądanie wyczyszczenia bitu, ale sterownik cifs bezwarunkowo pomijał zmianę trybu (ATTR_MODE), przez co wyczyszczony tryb nie był przesyłany do serwera.
- CVE-2026-89629Niskie ryzyko· EPSS 10%
W sterowniku HID corsair-void brakowało sprawdzania rozmiaru przychodzących zdarzeń statusu i aktualizacji firmware. Zniekształcone zdarzenia mogły powodować odczyt poza granicami bufora.
- CVE-2026-89628Niskie ryzyko· EPSS 11%
W sterowniku HID picolcd funkcja picolcd_debug_eeprom_read() ufała bajtowi długości dostarczonemu przez urządzenie, nie sprawdzając ile danych faktycznie odebrano. Urządzenie zwracające długość 0xff mogło spowodować odczyt poza buforem i ujawnienie sąsiedniej pamięci przez plik debugfs.
- CVE-2026-89627Niskie ryzyko· EPSS 10%
W sterowniku HID roccat funkcja roccat_report_event() kopiuje raporty do bufora cyklicznego, ale ścieżki niszczenia urządzenia nie zwalniały tych kopii. Powodowało to wyciek pamięci przy każdym usunięciu urządzenia.
- CVE-2026-89626Wysokie
W sterowniku HID sensor custom funkcja hid_sensor_custom_add_attributes() nie usuwała wcześniej utworzonych grup sysfs, gdy kolejne wywołanie sysfs_create_group() zakończyło się błędem. Prowadziło to do pozostawienia nieprawidłowych struktur i potencjalnego dostępu do zwolnionej pamięci.
- CVE-2026-89625Niskie ryzyko· EPSS 11%
W jądrze Linux występuje luka use-after-free w sterowniku HID: sony, dotycząca odbiorników GHL (Guitar Hero Live). Podczas odłączania lub usuwania modułu sterownika funkcja sony_remove() używa timer_delete_sync(), które nie blokuje ponownego uzbrojenia timera, a usb_free_urb() nie anuluje URB będącego w locie. W efekcie timer ghl_poke_timer może zostać ponownie uzbrojony na zwolnionej pamięci i uruchomić się po zwolnieniu struktury sc.
- CVE-2026-89624Wysokie
W jądrze Linux w funkcji universal_pidff_probe() sterownika HID universal-pidff urządzenie jest uruchamiane przez hid_hw_start(), ale w przypadku niepowodzenia inicjalizacji force-feedback błąd jest zwracany bez zatrzymania urządzenia. Powoduje to, że zarejestrowane urządzenie hidraw pozostaje aktywne mimo zwolnienia sterownika, co prowadzi do zapisu do zwolnionej pamięci (use-after-free) przy próbie otwarcia /dev/hidrawX.
- CVE-2026-89623Niskie ryzyko· EPSS 11%
W sterowniku HID mcp2221 funkcja czyszcząca mcp2221_hid_unregister() nie zatrzymywała wejścia/wyjścia urządzenia przed rozpoczęciem demontażu sprzętu. Przychodzące raporty HID mogły wyścignąć się z niszczeniem urządzenia, prowadząc do użycia po zwolnieniu pamięci.
- CVE-2026-89622Wysokie
W sterowniku HID mcp2221 funkcja mcp_i2c_smbus_read() przechowywała wskaźnik bufora w mcp->rxbuf, ale nie czyściła go po zakończeniu transferu. Opóźniony lub fałszywy raport MCP2221_I2C_GET_DATA mógł zapisywać dane do zwolnionej pamięci.
- CVE-2026-89621Niskie ryzyko· EPSS 11%
W sterowniku HID mcp2221 funkcja mcp2221_raw_event() nie sprawdzała rozmiaru przychodzących raportów HID. W ścieżce MCP2221_I2C_GET_DATA ufała bajtowi data[3] jako długości kopiowania, co mogło prowadzić do odczytu poza buforem raportu.
- CVE-2026-89609Wysokie
W jądrze Linux funkcja ecryptfs_exorcise_daemon() usuwała zakolejkowane wiadomości z kończącego się demona bez trzymania blokady ecryptfs_msg_ctx_lists_mux, której wymaga ecryptfs_msg_ctx_alloc_to_free(). Powodowało to wyścig z innymi użytkownikami globalnej listy kontekstów wiadomości.
- CVE-2026-89608Wysokie
W jądrze Linux funkcja ecryptfs_parse_packet_set() obliczała rozmiar bufora pozostałych pakietów jako PAGE_SIZE - 8, mimo że dla nagłówków w wersji 1 zestaw pakietów zaczyna się później w nagłówku. Mogło to zawyżać dostępny bufor i prowadzić do błędów w parsowaniu.
- CVE-2026-89607Wysokie
W jądrze Linux w funkcji parse_tag_3_packet() podatność polega na braku ograniczenia wartości encrypted_key_size do rozmiaru ECRYPTFS_MAX_KEY_BYTES (64 bajtów). Gdy encrypted_key_size przekracza 64, funkcja decrypt_passphrase_encrypted_session_key() wykonuje dwa zapisy poza granicami bufora, co prowadzi do uszkodzenia pamięci struktur ecryptfs_auth_tok i ecryptfs_crypt_stat. Problem dotyczy wyłącznie szyfru AES-192 (kod 0x08), który ustawia crypt_stat->key_size = 24 niezależnie od encrypted_key_size.
- CVE-2026-89606Wysokie
W jądrze Linux funkcja ecryptfs_parse_tag_70_packet() odejmowała stałe pola metadanych od rozmiaru ciała pakietu, aby wyznaczyć rozmiar zaszyfrowanej nazwy pliku. Złośliwy pakiet o zbyt małym ciele mógł spowodować niedomiar w tym obliczeniu.
- CVE-2026-89605Wysokie
W jądrze Linux funkcja ecryptfs_send_message_locked() przenosiła kontekst wiadomości z listy wolnych na listę przydzielonych przed wysłaniem żądania do demona w przestrzeni użytkownika. Jeśli ecryptfs_send_miscdev() zawiodło, kontekst pozostawał na liście przydzielonych i nie mógł być ponownie użyty.
- CVE-2026-89604Niskie ryzyko· EPSS 10%
W jądrze Linux funkcja statfs() na punkcie montowania efivarfs może być wywoływana przez nieuprzywilejowanych użytkowników, co może skutkować zalewem wywołań usługi czasu wykonania QueryVariableInfo(). Na systemach x86, gdzie magazyn zmiennych jest obsługiwany przez SMM, każde wejście SMM wymaga spotkania wszystkich procesorów, co jest kosztowne.
- CVE-2026-89603Wysokie
W jądrze Linux występuje wyścig w obsłudze seccomp po ptrace z TSYNC. Jeśli wątek jest zatrzymany w syscall_trace_enter() na potrzeby ptrace, inny wątek może zainstalować filtr seccomp z SECCOMP_FILTER_FLAG_TSYNC, ustawiając SYSCALL_WORK_SECCOMP na zatrzymanym wątku, ale syscall_trace_enter() ocenia buforowaną zmienną 'work' i nie widzi nowej flagi, co prowadzi do cichego obejścia filtra.
- CVE-2026-89602Wysokie
W jądrze Linux w systemie plików erofs zmienna z_erofs_gbuf_nrpages jest zwiększana dopiero po powiększeniu wszystkich buforów globalnych. Jeśli zmiana rozmiaru nie powiedzie się po powiększeniu niektórych buforów, ponowna próba odwiedza już powiększone bufory, co może prowadzić do błędów alokacji lub przepełnienia tablicy wskaźników.
- CVE-2026-89601Wysokie
W jądrze Linux funkcje ext2_setsize() i ext2_xattr_set2() zawierały konstrukcję, która dla i-węzłów IS_SYNC wywoływała sync_inode_metadata() zamiast oznaczenia i-węzła jako brudny. Ponieważ sync_inode_metadata() działa tylko jeśli i-węzeł jest już brudny, aktualizacje i-węzła mogły zostać utracone.
- CVE-2026-89600Wysokie
W jądrze Linux występuje błąd use-after-free w podsystemie fanotify dotyczący informacji o zakresie pliku. Wskaźnik do pozycji zakresu przechowywanej na stosie zadania wywołującego jest zapisywany w zdarzeniu uprawnień na stercie, a gdy sygnał przerwie zadanie wywołujące, ramka stosu jest zwalniana, podczas gdy czytelnik zdarzenia nadal odwołuje się do tego wskaźnika. Prowadzi to do odczytu nieaktualnej wartości ze stosu i skopiowania jej do przestrzeni użytkownika.
- CVE-2026-89599Wysokie
W jądrze Linux w sterowniku fbdev omapfb panel-dsi-cm mutex ddata->lock jest inicjalizowany po zarejestrowaniu wyświetlacza. Po opublikowaniu wyświetlacza przez omapdss_register_display() inny konsument może wywołać funkcję zwrotną dsicm, która próbuje użyć niezainicjalizowanego mutexa. Może to prowadzić do nieprawidłowego działania lub awarii.
- CVE-2026-89598Niskie ryzyko· EPSS 6%
W jądrze Linux sterownik fbdev ssd1307fb wywoływał synchroniczne transfery I2C z callbacków uszkodzenia (damage callbacks), które mogą być uruchamiane z fbcon w kontekście atomowym (z wyłączonym wywłaszczaniem przez printk). Prowadziło to do błędu "scheduling while atomic" i ostrzeżeń jądra na systemach takich jak RK3566. Problem został rozwiązany poprzez odroczenie transferów I2C z callbacków uszkodzenia.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

