Podatności Linux kernel
5621 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2021-47536Krytyczne
W jądrze Linux w module sieciowym SMC wykryto podatność polegającą na błędnym usunięciu elementu z listy w funkcji smc_lgr_cleanup_early(). Zamiast usunąć właściwą grupę linków, funkcja usuwała głowę listy, co prowadziło do uszkodzenia pamięci i paniki jądra.
- CVE-2021-47506Krytyczne
W jądrze Linux naprawiono podatność use-after-free w serwerze NFS (nfsd) związaną z wyścigiem delegacji. Przerwanie delegacji może nastąpić natychmiast po wywołaniu vfs_setlease, co prowadzi do dodania delegacji do listy del_recall_lru, a następnie zwolnienia jej bez usunięcia z listy, co objawia się później jako use-after-free lub uszkodzenie listy.
- CVE-2021-47496Krytyczne
W jądrze Linux w module net/tls występuje błąd znaku w wywołaniach tls_err_abort(), gdzie ujemny kod błędu jest przypisywany do sk_err, co prowadzi do błędnej interpretacji i potencjalnego uszkodzenia pamięci. Poprawka polega na spójnym przekazywaniu ujemnych kodów błędów i centralizacji zmiany znaku.
- CVE-2021-47478Krytyczne
W jądrze Linux w module isofs występuje dostęp poza granicami bufora podczas odczytu uszkodzonego obrazu ISO. Poprawka dodaje sprawdzenie długości wpisu katalogu przed jego użyciem.
- CVE-2023-52755Krytyczne
W jądrze Linux naprawiono podatność w ksmbd: zapis poza zakresem w funkcji smb_inherit_dacl(). Problem wynika z tego, że offsety są większe niż rozmiar alokacji pntsd. Poprawka dodaje sprawdzenie trzech offsetów przy użyciu rozmiaru alokacji.
- CVE-2023-52741Krytyczne
W jądrze Linux w module CIFS wykryto podatność use-after-free w funkcji rdata->read_into_pages(). Przy niestabilnym połączeniu sieciowym, podczas odczytu danych z serwera, może dojść do użycia zwolnionej pamięci (wskaźnik rdata), co prowadzi do awarii systemu lub potencjalnego wykonania kodu.
- CVE-2023-52732Krytyczne
W jądrze Linuxa w module ceph występuje podatność polegająca na blokowaniu klienta kclient po otrzymaniu uszkodzonego śladu snap. Podatność może prowadzić do kontynuowania operacji wejścia/wyjścia i dostępu do metadanych, co może skutkować uszkodzeniem danych.
- CVE-2021-47427Krytyczne
W jądrze Linux w module scsi iscsi występuje błąd użycia po zwolnieniu (UAF) w obsłudze przerywania (abort) zadań. Poprawka cofa zmianę, która prowadziła do goto do wspólnego kodu sprzątania, i przenosi wywołanie iscsi_get_conn() po sprawdzeniu poprawności zadania.
- CVE-2021-47328Krytyczne
W jądrze Linux naprawiono podatność use-after-free w sterowniku iSCSI (scsi: iscsi) podczas resetów. Problem występuje, gdy iscsi_conn_teardown budzi wątek EH i zwalnia połączenie, podczas gdy te wątki nadal uzyskują dostęp do pola ehwait połączenia. Poprawka przenosi pola TMF z połączenia do sesji.
- CVE-2021-47232Krytyczne
W jądrze Linux w podsystemie CAN J1939 występuje podatność Use-after-Free. Problem polega na tym, że pakiet skb jest pobierany z kolejki sesji bez zwiększania licznika referencji, co może prowadzić do użycia po zwolnieniu pamięci, gdy pakiet jest jednocześnie pobierany z kolejki z powodu CTS.
- CVE-2024-35960Krytyczne
W jądrze Linuxa zidentyfikowano podatność, która dotyczy niewłaściwego powiązania nowych reguł fs w drzewie. Problem ten może prowadzić do sytuacji, w której reguła z refcountem równym 2 nie jest poprawnie powiązana, co skutkuje awarią systemu podczas usuwania grupy przepływów.
- CVE-2024-35939Krytyczne
W jądrze Linux w funkcji dma-direct występuje problem z wyciekiem stron po niepowodzeniu dma_set_decrypted(). W środowisku TDX niegodny zaufania host może spowodować niepowodzenie set_memory_encrypted() lub set_memory_decrypted(), co prowadzi do zwrócenia pamięci współdzielonej do alokatora stron. Poprawka powoduje wyciek stron w takim przypadku zamiast ich zwolnienia.
- CVE-2024-35869Krytyczne
W jądrze Linuxa w kliencie SMB naprawiono podatność prowadzącą do użycia po zwolnieniu (use-after-free) podczas przetwarzania odwołań DFS, montowania i przełączania awaryjnego DFS. Zapewniono, że wszystkie dzieci z sesji rodzica są odpowiednio refcountowane, a także usunięto zbędną listę dfs_ses_list.
- CVE-2024-35864Krytyczne
W jądrze Linuxa, w kliencie SMB, występuje potencjalna podatność use-after-free w funkcji smb2_is_valid_lease_break(). Problem dotyczy sesji, które są w trakcie zamykania (status == SES_EXITING), co może prowadzić do użycia po zwolnieniu. Poprawka pomija takie sesje, aby uniknąć UAF.
- CVE-2023-52687Krytyczne
W jądrze Linux w podsystemie crypto/safexcel brakuje obsługi błędów dla wywołań dma_map_sg(). Makro dma_map_sg() może zwrócić 0 w przypadku błędu. Poprawka dodaje sprawdzenia w przypadku awarii makra i zapewnia odmapowanie wcześniej zmapowanych buforów za pomocą dma_unmap_sg().
- CVE-2022-48697Krytyczne
W jądrze Linuxa w module nvmet występuje podatność use-after-free, która może zostać wyzwolona przez testy blktests nvme/004. Problem prowadzi do odczytu zwolnionej pamięci podczas kończenia żądań, co może skutkować awarią systemu.
- CVE-2022-48686Krytyczne
W jądrze Linux w module nvme-tcp występuje podatność use-after-free podczas wykrywania błędów sum kontrolnych. Poprawka wymaga przerwania pętli io_work po ustawieniu rd_enabled, aby uniknąć odczytu danych z niesynchronizowanego strumienia TCP.
- CVE-2024-27388Krytyczne
W jądrze Linux w module SUNRPC naprawiono wycieki pamięci w funkcji gssx_dec_option_array. Wcześniej w ścieżkach obsługi błędów nie zwalniano pamięci przydzielonej dla danych uwierzytelniających i tablicy opcji.
- CVE-2022-48666Krytyczne
W jądrze Linux wykryto podatność use-after-free w podsystemie SCSI core. Problem występuje, gdy funkcje .exit_cmd_priv są wywoływane po zwolnieniu zasobów powiązanych z hostem SCSI, co może prowadzić do dostępu do już zwolnionej pamięci. Poprawka polega na oczekiwaniu w scsi_remove_host() na zwolnienie zestawu tagów przed wywołaniem tych funkcji.
- CVE-2024-26877Krytyczne
W jądrze Linux w sterowniku kryptograficznym Xilinx (zynqmp) występuje problem polegający na wywołaniu funkcji crypto_finalize_request bez wyłączonych przerwań miękkich (BH), co prowadzi do ostrzeżenia WARNING i potencjalnych problemów ze stabilnością systemu.
- CVE-2024-26828Krytyczne
W jądrze Linux w module cifs występuje niedomiar (underflow) w funkcji parse_server_interfaces() z powodu porównania typu ssize_t z size_t, co prowadzi do kontynuacji pętli przy ujemnej wartości bytes_left. Poprawka rozwiązuje problem z konwersją typów.
- CVE-2021-47215Krytyczne
W jądrze Linux w sterowniku mlx5e (dla kart sieciowych Mellanox) występuje błąd w przepływie resynchronizacji TLS RX, prowadzący do awarii. Lista kontekstów TLS jest narażona na uszkodzenia z powodu braku ochrony wpisów przed ruchami pochodzącymi z resync_handle_seq_match(), dopóki ich obsługa w napi nie zostanie zakończona.
- CVE-2024-26811Krytyczne
W jądrze Linux w module ksmbd brakuje walidacji rozmiaru danych odpowiedzi IPC, co może prowadzić do przepełnienia pamięci lub naruszenia granic (slab-out-of-bounds). Poprawka dodaje walidację trzech odpowiedzi IPC z danymi.
- CVE-2024-26800Krytyczne
W jądrze Linux występuje podatność use-after-free w TLS podczas nieudanego odszyfrowania w kolejce. Gdy operacja kryptograficzna zwraca -EBUSY, funkcja tls_do_decryption czeka na zakończenie wszystkich asynchronicznych odszyfrowań, a jeśli jedno z nich zawiedzie, strony są zwalniane, ale zostały już przekazane do asynchronicznego wywołania zwrotnego.
- CVE-2024-26760Krytyczne
W jądrze Linux w podsystemie SCSI target (pscsi) występuje błąd w obsłudze przypadku błędu przy zwalnianiu obiektu bio. Bio przydzielony przez bio_kmalloc() musi być zwolniony przez bio_uninit() i kfree(), ale w tym przypadku nie jest to poprawnie wykonane, co prowadzi do ostrzeżenia WARN i dereferencji wskaźnika NULL w bio_free().
- CVE-2024-26665Krytyczne
W jądrze Linux w funkcjach tuneli (np. VXLAN) występuje błąd polegający na odczycie poza zakresem pamięci podczas budowania błędu PMTU dla IPv6. Problem pojawia się, gdy błąd ICMPv6 jest tworzony z nie-liniowego skb, co prowadzi do naruszenia pamięci (KASAN: slab-out-of-bounds).
- CVE-2021-47168Krytyczne
W jądrze Linux w funkcji filelayout_decode_layout() w NFS użyto nieprawidłowego rozmiaru struktury, co może prowadzić do uszkodzenia pamięci. Poprawka zmienia rozmiar na NFS_MAXFHSIZE, który odpowiada rozmiarowi bufora.
- CVE-2021-47162Krytyczne
W jądrze Linux w module TIPC wykryto podatność polegającą na nieprawidłowym dołączaniu fragmentów pakietów do listy frag_list skb, co może prowadzić do użycia po zwolnieniu (use-after-free). Problem występuje, gdy skb został sklonowany lub zmodyfikowany przez pskb_copy() lub pskb_may_pull(), a nowy fragment jest współdzielony przez wiele skb, mimo że tylko raz wykonano na nim skb_get().
- CVE-2021-47137Krytyczne
W jądrze Linux w sterowniku sieciowym lantiq występuje podatność prowadząca do uszkodzenia pamięci w pierścieniu RX. W sytuacji, gdy alokacja pamięci lub mapowanie DMA nie powiedzie się, do deskryptora programowany jest nieprawidłowy adres, co może prowadzić do uszkodzenia pamięci. Poprawka powoduje, że w przypadku niepowodzenia alokacji DMA ponownie używa poprzedniego skb i mapowania oraz odrzuca pakiet, zwiększając licznik odrzuceń.
- CVE-2021-47107Krytyczne
W jądrze systemu Linux zidentyfikowano podatność związana z przepełnieniem bufora w funkcji READDIR. Problem występuje, gdy klient wysyła zbyt mały argument count, co prowadzi do błędnych obliczeń rozmiaru bufora i umożliwia zapis poza jego granicami.
- CVE-2021-47103Krytyczne
Podatność w jądrze Linux dotyczy błędnego zarządzania polem sk_rx_dst w strukturach gniazd TCP, które nie przestrzegało standardowych zasad RCU. Może to prowadzić do użycia po zwolnieniu (use-after-free) w funkcjach wczesnego demultipleksowania pakietów, co zostało zgłoszone przez syzbot.
- CVE-2023-52515Krytyczne
W jądrze Linux w podsystemie RDMA/srp występuje problem polegający na tym, że procedura srp_abort() wywołuje scsi_done(), co może prowadzić do użycia po zwolnieniu (use-after-free). Poprawka usuwa to wywołanie, pozostawiając wywołanie srp_free_req() przed zwróceniem SUCCESS.
- CVE-2023-52480Krytyczne
W jądrze Linux w module ksmbd wykryto wyścig między wyszukiwaniem sesji a jej wygaśnięciem, co może prowadzić do użycia po zwolnieniu (UAF). Problem został naprawiony przez dodanie semafora rwsem synchronizującego te operacje.
- CVE-2021-47036Krytyczne
W jądrze Linuxa w module UDP występuje podatność polegająca na nieprawidłowej agregacji L4 dla pakietów tunelowanych UDP. Gdy włączone są opcje GRO, może dojść do uszkodzenia wewnętrznych protokołów, np. ignorowania różnych identyfikatorów VXLAN.
- CVE-2021-47013Krytyczne
W jądrze Linux naprawiono podatność use-after-free w funkcji emac_mac_tx_buf_send w sterowniku sieciowym EMAC. Problem polega na tym, że po zwolnieniu skb w przypadku błędu w emac_tx_fill_tpd(), skb jest nadal używany przez netdev_sent_queue(,skb->len), co prowadzi do użycia po zwolnieniu.
- CVE-2021-46999Krytyczne
W jądrze Linux wykryto podatność w protokole SCTP, prowadzącą do użycia po zwolnieniu (use-after-free) struktury transportu. Problem występuje podczas przetwarzania zduplikowanego fragmentu COOKIE-ECHO w funkcji sctp_sf_do_dupcook_a(), gdzie fragmenty COOKIE-ACK i SHUTDOWN są przypisywane do nowego skojarzenia (asoc), ale później używane przez stare skojarzenie, co może doprowadzić do paniki systemu.
- CVE-2021-46911Krytyczne
W jądrze Linuxa w module ch_ktls występuje problem powodujący panikę jądra. Zwiększanie licznika referencji strony nie jest idealne i może prowadzić do paniki, dlatego zaleca się użycie blokady tx_ctx dla całego przesyłania skb, aby uniknąć czyszczenia strony w trakcie transmisji.
- CVE-2019-25160Krytyczne
W jądrze Linux w module netlabel występują dwa przypadki odczytu poza granicami tablicy: w funkcji cipso_v4_map_lvl_valid() oraz w netlbl_bitmap_walk(). Poprawki są proste i dotyczą sprawdzania zakresów.
- CVE-2024-26594Krytyczne
W jądrze Linux naprawiono podatność w ksmbd: brak walidacji tokenu mechanizmu w żądaniu sesji. Jeśli klient wyśle nieprawidłowy token, ksmbd powinien go zweryfikować i zwrócić błąd.
- CVE-2024-26592Krytyczne
W jądrze Linux naprawiono podatność use-after-free w funkcji ksmbd_tcp_new_connection() w module ksmbd. Problem wynika z wyścigu między obsługą nowego połączenia TCP a jego rozłączeniem, co prowadzi do użycia po zwolnieniu struktury tcp_transport.
- CVE-2024-26585Krytyczne
W jądrze Linux w module tls występuje podatność polegająca na wyścigu między planowaniem pracy transmisji a zamknięciem gniazda. Wątek zgłaszający (recvmsg/sendmsg) może zakończyć działanie natychmiast po wywołaniu complete() przez asynchroniczny handler kryptograficzny. Poprawka zmienia kolejność: najpierw planowanie pracy, potem wywołanie complete().
- CVE-2024-26584Krytyczne
W jądrze Linuxa w module TLS naprawiono problem z obsługą żądań kryptograficznych, które mogą być umieszczane w kolejce oczekującej (backlog). Gdy flaga CRYPTO_TFM_REQ_MAY_BACKLOG jest ustawiona, funkcje crypto_aead mogą zwracać -EBUSY zamiast -EINPROGRESS, co powodowało podwójne wywołanie callbacku asynchronicznego. Poprawka konwertuje -EBUSY na -EINPROGRESS, aby uniknąć modyfikacji ścieżek obsługi błędów.
- CVE-2024-26583Krytyczne
W jądrze Linuxa występuje podatność wyścigu (race condition) w implementacji TLS, między asynchronicznym powiadomieniem a zamknięciem gniazda. Wątek wywołujący recvmsg/sendmsg może zakończyć działanie natychmiast po wywołaniu complete() przez asynchroniczny handler kryptograficzny, co grozi dostępem do już zwolnionych danych.
- CVE-2024-26582Krytyczne
W jądrze Linux w module TLS występuje podatność use-after-free przy częściowych odczytach i asynchronicznym odszyfrowaniu. Funkcja tls_decrypt_sg nie przechowuje referencji do stron z clear_skb, co prowadzi do zwolnienia ich przez put_page() w tls_decrypt_done, a następnie użycia po zwolnieniu w process_rx_list.
- CVE-2023-52442Krytyczne
W jądrze Linux naprawiono podatność w ksmbd: brak walidacji identyfikatora sesji i drzewa w żądaniu złożonym. Funkcja smb2_get_msg() zawsze zwraca pierwszy nagłówek SMB2, co może prowadzić do pominięcia sprawdzenia identyfikatora drzewa. Poprawka używa ksmbd_req_buf_next() do uzyskania bieżącego polecenia.
- CVE-2023-52441Krytyczne
W jądrze Linux w module ksmbd występuje dostęp poza granicami w funkcji init_smb2_rsp_hdr(). Jeśli klient wyśle żądanie negocjacji SMB2, a następnie SMB1, funkcja jest wywoływana dla żądania SMB1, co prowadzi do problemu. Poprawka ignoruje pakiety SMB1 po ustawieniu need_neg na false.
- CVE-2023-52440Krytyczne
W jądrze Linux naprawiono podatność w ksmbd: przepełnienie bufora w funkcji ksmbd_decode_ntlmssp_auth_blob(). Jeśli rozmiar klucza sesji w authblob jest większy niż rozmiar klucza sesji (CIFS_KEY_SIZE), może wystąpić przepełnienie w kodach wymiany kluczy. Funkcja cifs_arc4_crypt kopiuje do tablicy klucza sesji z SessionKey od klienta.
- CVE-2024-1086WysokieAktywnie exploitowane
Podatność use-after-free w komponencie netfilter: nf_tables jądra Linux może być wykorzystana do lokalnej eskalacji uprawnień. Funkcja nft_verdict_init() pozwala na dodatnie wartości jako błąd drop w werdykcie haka, co może prowadzić do podwójnego zwolnienia pamięci w nf_hook_slow().
- CVE-2022-2586ŚrednieAktywnie exploitowane
Odkryto, że obiekt lub wyrażenie nft może odwoływać się do zestawu nft w innej tabeli nft, co prowadzi do użycia po zwolnieniu (use-after-free) po usunięciu tej tabeli.
- CVE-2023-38426Krytyczne
W jądrze Linux przed wersją 6.3.4 odkryto problem związany z odczytem poza zakresem w funkcji smb2_find_context_vals. Problem występuje, gdy długość nazwy create_context jest większa niż długość tagu.

