Podatności Linux kernel
10 419 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2024-53066Krytyczne
W jądrze Linuxa w funkcji decode_getfattr_attrs() w systemie NFS wykryto ostrzeżenie KMSAN o użyciu niezainicjalizowanej wartości. Pole fattr->mdsthreshold nie jest inicjalizowane, co może prowadzić do nieprawidłowego działania.
- CVE-2024-53058Krytyczne
W jądrze Linux w sterowniku sieciowym stmmac wykryto podatność związaną z niezbalansowanym mapowaniem/odmapowywaniem DMA dla danych niebędących stronami (non-paged) w kontekście TSO. Błędne przypisanie adresu bufora DMA do niewłaściwego elementu tablicy tx_skbuff_dma powoduje przedwczesne odmapowanie bufora, zanim sprzęt DMA zakończy jego użycie. Może to prowadzić do transmisji uszkodzonych danych lub błędów IOMMU.
- CVE-2024-50302ŚrednieAktywnie exploitowane
W jądrze Linux rozwiązano lukę w HID: core polegającą na zerowej inicjalizacji bufora raportu. Bufor raportu jest używany przez różne sterowniki, a jego niezerowa inicjalizacja może prowadzić do wycieku pamięci jądra poprzez specjalnie spreparowany raport.
- CVE-2024-50286Krytyczne
W jądrze Linux w module ksmbd występuje podatność slab-use-after-free w funkcji ksmbd_smb2_session_create. Istnieje wyścig między tą funkcją a ksmbd_expire_session, co wymaga dodania brakującego blokowania tabeli sesji podczas dodawania/usuwania sesji z globalnej tabeli.
- CVE-2024-50283Krytyczne
W jądrze Linuxa w serwerze ksmbd naprawiono podatność typu slab-use-after-free w funkcji smb3_preauth_hash_rsp. Wywołanie ksmbd_user_session_put powinno być wykonane w obrębie smb3_preauth_hash_rsp, aby uniknąć zwolnienia sesji przed jej użyciem.
- CVE-2024-50276Krytyczne
W jądrze Linux naprawiono podatność w sterowniku Vertexcom MSE102x, która mogła prowadzić do podwójnego zwolnienia bufora skb (TX skb). Problem występował, gdy konieczne było powiększenie bufora TX skb — zwalniano oryginalny bufor zamiast tymczasowego, co skutkowało ponownym zwolnieniem w funkcji mse102x_tx_work() i awarią systemu.
- CVE-2024-50206Krytyczne
W jądrze Linux w module net: ethernet: mtk_eth_soc występuje podatność polegająca na uszkodzeniu pamięci podczas inicjalizacji DMA fq. Pętla odpowiedzialna za alokację buforów MTK_FQ_DMA_LENGTH dotyka zbyt wielu deskryptorów, co prowadzi do uszkodzenia niezwiązanej pamięci. Poprawka koryguje liczbę iteracji pętli.
- CVE-2024-50152Krytyczne
W jądrze Linux w kliencie SMB (smb2_set_ea()) wykryto możliwość podwójnego zwolnienia pamięci. Błąd występuje, gdy po pierwszym zwolnieniu zmienna 'ea' nie jest ponownie inicjalizowana przed kolejną próbą, co prowadzi do drugiego zwolnienia tej samej pamięci.
- CVE-2024-50086Krytyczne
W jądrze Linux w module ksmbd występuje problem użycia po zwolnieniu (UAF) podczas wylogowywania sesji SMB2. Istnieje wyścig między wylogowaniem sesji a jej ustanowieniem, co może prowadzić do UAF. Poprawka dodaje blokadę sesji przy ustawianiu flagi SMB2_SESSION_EXPIRED oraz licznik referencji do struktury sesji, aby zapobiec jej zwolnieniu podczas użycia.
- CVE-2024-50046Krytyczne
W jądrze Linux występuje podatność w implementacji NFSv4, która może prowadzić do dereferencji wskaźnika NULL w funkcji nfs42_complete_copies(). Problem pojawia się, gdy węzeł klienta NFS kopiuje pliki znajdujące się w punkcie montowania serwera NFS do innej lokalizacji na tym samym serwerze, a następnie dochodzi do odzyskiwania stanu otwartego pliku. Może to spowodować awarię jądra (oops) i destabilizację systemu.
- CVE-2024-50043Krytyczne
W jądrze Linux w serwerze NFS (nfsd) występuje problem w obsłudze FREE_STATEID. Wysłanie wielu FREE_STATEID dla tego samego stanu delegacji może prowadzić do użycia po zwolnieniu (UAF) lub niedomiaru licznika referencji. Poprawka dotyczy sekcji krytycznej w nfsd4_free_stateid(), gdzie blokada jest zwalniana przed wywołaniem nfs4_put_stid(), co pozwala na ponowne znalezienie stanu.
- CVE-2024-50033Krytyczne
W jądrze Linux wykryto podatność w funkcji slhc_remember() sterownika SLIP, która nieprawidłowo weryfikowała pakiety sieciowe. Brak odpowiednich sprawdzeń mógł prowadzić do odczytu niezainicjalizowanej pamięci, co zostało zgłoszone przez narzędzie syzbot.
- CVE-2022-49003Krytyczne
W jądrze Linux wykryto podatność w podsystemie NVMe, polegającą na braku ochrony SRCU podczas przeglądania listy nvme_ns_head w funkcji nvme_mpath_revalidate_paths(). Brak synchronizacji przy usuwaniu przestrzeni nazw może prowadzić do użycia po zwolnieniu (use-after-free) podczas współbieżnego skanowania.
- CVE-2022-48985Krytyczne
W jądrze Linux w sterowniku sieciowym mana występuje wyścig (race condition) dotyczący zmiennej per-CQ napi work_done. Po wywołaniu napi_complete_done() bit NAPIF_STATE_SCHED może zostać wyczyszczony, a inny procesor może uruchomić wątek napi i uzyskać dostęp do zmiennej cq->work_done. Jeśli inny wątek ustawi ją na wartość >= budget, ten wątek będzie kontynuował działanie, gdy powinien się zatrzymać, co może prowadzić do uszkodzenia pamięci i paniki. Poprawka zapisuje zmienną work_done w zmiennej lokalnej przed napi_complete_done(), aby uniknąć jej uszkodzenia.
- CVE-2024-49996Krytyczne
W jądrze systemu Linux naprawiono podatność związana z przepełnieniem bufora podczas analizy punktów ponownego przetwarzania NFS. Problem wynikał z nieprawidłowego obliczania rozmiaru bufora danych, co prowadziło do dostępu poza jego granice.
- CVE-2024-49855Krytyczne
W jądrze Linux w module nbd występuje wyścig między timeoutem a normalnym zakończeniem żądania. Jeśli timeout jest obsługiwany przez nbd_requeue_cmd(), normalne zakończenie musi zostać zatrzymane, aby uniknąć użycia po zwolnieniu (UAF). Poprawka czyści flagę NBD_CMD_INFLIGHT w nbd_requeue_cmd() i zapewnia, że blokada cmd->lock jest przechwycona przed wyczyszczeniem flagi i ponownym umieszczeniem w kolejce.
- CVE-2024-47695Krytyczne
W jądrze Linuxa w podsystemie RDMA rtrs-clt wykryto błąd polegający na odwołaniu do pamięci poza zakresem w funkcji init_conns(). W pętli sprzątania po błędzie zmienna cid jest ustawiana na con_num, co prowadzi do dostępu poza tablicę.
- CVE-2024-47685Krytyczne
W jądrze Linux w funkcji nf_reject_ip6_tcphdr_put() podatność polegała na wysyłaniu niezainicjalizowanych danych w czterech zarezerwowanych bitach nagłówka TCP (th->res1) podczas generowania pakietów resetujących IPv6 przez netfilter. Problem wykryty przez KMSAN został naprawiony poprzez użycie skb_put_zero() do wyzerowania całego nagłówka TCP.
- CVE-2024-47678Krytyczne
W jądrze Linuxa zmieniono kolejność ograniczania szybkości dla komunikatów ICMP. Wcześniej najpierw sprawdzano globalny limit, a potem limit per destination; teraz najpierw sprawdzany jest limit per destination, a globalny limit jest sprawdzany i zużywany później. Zmiana ma na celu zapobieganie atakom przez kanały boczne.
- CVE-2024-47659Krytyczne
W jądrze Linuxa w module Smack wykryto podatność dotyczącą błędnego etykietowania pakietów TCP/IPv4 dla połączeń przychodzących. Etykieta nadawcy była odzwierciedlana w pakietach zwrotnych, zamiast etykiety odbiorcy, co prowadziło do nieautoryzowanego zapisu.
- CVE-2024-46865Krytyczne
W jądrze Linuxa naprawiono podatność związaną z inicjalizacją grc w module fou. W przypadku, gdy fou jest NULL, może dojść do użycia grc przed jego inicjalizacją.
- CVE-2024-46736Krytyczne
W kliencie SMB w jądrze Linuxa występuje podwójne zwolnienie referencji @cfile w funkcji smb2_rename_path(). Jeśli funkcja smb2_set_path_attr() zostanie wywołana z prawidłowym @cfile i zwróci -EINVAL, referencja @cfile została już zwolniona przez poprzednie wywołanie smb2_compound_op(), co prowadzi do podwójnego zwolnienia.
- CVE-2024-46717Krytyczne
W jądrze Linux w sterowniku mlx5e dla funkcji SHAMPO wykryto nieprawidłowe zwalnianie stron. W określonych warunkach (brak skb, header_size == 0, ostatni fragment strony nagłówka) zwalniana jest strona nagłówka SHAMPO, która nie powinna być zwolniona, co prowadzi do wielokrotnego zwalniania tych stron.
- CVE-2024-46697Krytyczne
W jądrze Linux w module nfsd występuje podatność polegająca na tym, że jeśli funkcja nfsd4_encode_fattr4 wykona skok do etykiety "goto out" przed sprawdzeniem etykiety bezpieczeństwa, to pole args.context pozostaje niezainicjalizowane na stosie, a następnie jest zwalniane. Poprawka inicjalizuje to pole na początku.
- CVE-2024-46696Krytyczne
W jądrze Linux w serwerze NFS (nfsd) występuje podatność na użycie po zwolnieniu (UAF) w funkcji nfsd4_cb_getattr_release. Po zwolnieniu referencji do delegacji, dostęp do pól w niej zawartych jest niebezpieczny. Poprawka przenosi to zwolnienie na koniec.
- CVE-2024-46695Krytyczne
W jądrze Linux w hooku inode_setsecctx dla SELinux i Smack występuje obejście kontroli uprawnień. Użytkownik root na kliencie NFS może zmieniać etykiety bezpieczeństwa plików na systemie plików NFS eksportowanym z włączonym root squashing. Poprawka zastępuje wywołanie __vfs_setxattr_noperm() przez __vfs_setxattr_locked(), co wymusza odpowiednie sprawdzenia uprawnień.
- CVE-2024-46690Krytyczne
W jądrze Linux w module nfsd występuje podatność w funkcji nfsd4_deleg_getattr_conflict, która niebezpiecznie dereferencjonuje wskaźnik flc_owner bez potwierdzenia, że fl_lmops jest oczekiwanym menedżerem. Poprawka przywraca zachowanie dla przypadku "!= &nfsd_lease_mng_ops" jak przed zmianą, bez odwoływania się do delegacji.
- CVE-2024-45030Krytyczne
W jądrze Linux w sterowniku igb (Intel Gigabit Ethernet) występuje problem z dużymi wartościami MAX_SKB_FRAGS, co prowadzi do uszkodzenia danych podczas transmisji (payload corruption). Przyczyną jest nieprawidłowe uwzględnienie rozmiaru wspólnych informacji (shared info) przy wyborze układu pierścienia, co powoduje próbę umieszczenia dwóch pakietów na jednej stronie 4K. Poprawka sprawdza, czy bufory 2K są niewystarczające.
- CVE-2024-45013Krytyczne
W jądrze Linuxa występuje podatność use-after-free w sterowniku NVMe. Problem polega na tym, że zatrzymywanie mechanizmu keep-alive nie zostało przeniesione do funkcji nvme_uninit_ctrl(), co może prowadzić do uruchomienia i pozostawienia w oczekiwaniu pracy keep-alive po nieudanym starcie kontrolera, a następnie do użycia po zwolnieniu pamięci podczas wyładowywania sterownika.
- CVE-2024-44998Krytyczne
W jądrze Linuxa w sterowniku ATM idt77252 wykryto użycie po zwolnieniu (use-after-free) w funkcji dequeue_rx(). Po wywołaniu vcc->push() nie można odwoływać się do skb, ponieważ został on zwolniony.
- CVE-2024-44985Krytyczne
W jądrze Linuxa w funkcji ip6_xmit() wykryto możliwość użycia po zwolnieniu (UAF). Jeśli skb_expand_head() zwróci NULL, skb oraz powiązane z nim dst/idev mogą zostać zwolnione, a dalszy dostęp może prowadzić do awarii.
- CVE-2024-44970Krytyczne
W jądrze Linux w sterowniku net/mlx5e (SHAMPO) występuje problem z nieprawidłowym usuwaniem elementu z listy połączonej kolejki roboczej (WQ). Gdy wszystkie stride'y w WQE zostaną zużyte, WQE jest usuwane z listy, ale możliwe jest otrzymanie CQE z 0 zużytymi stride'ami dla tego samego WQE, co prowadzi do podwójnego usunięcia i uszkodzenia listy. Poprawka akceptuje 0 rozmiarów zużytych stride'ów bez ponownego usuwania WQE.
- CVE-2024-43883Krytyczne
W jądrze Linux w sterowniku USB vhci-hcd występuje problem z utrzymywaniem referencji. W kilku miejscach sterownik przechowuje nieaktualne wskaźniki do referencji, które mogą być nadal używane. Poprawka zapewnia, że nowe referencje są uzyskiwane przed zwolnieniem starych, co zamyka lukę ZDI-CAN-22273.
- CVE-2024-43864Krytyczne
W jądrze Linux w sterowniku mlx5e podczas aktualizacji wpisu CT (connection tracking) może dojść do wycieku kontekstu modyfikacji nagłówka. Jeśli alokacja nowego modyfikatora nagłówka nie powiedzie się, wskaźnik do starego modyfikatora jest tracony, a próba zwolnienia błędnego wskaźnika może prowadzić do paniki systemu.
- CVE-2024-42285Krytyczne
W jądrze Linuxa, w podsystemie RDMA/iwcm, występuje podatność use-after-free związana z niszczeniem identyfikatorów CM. Funkcja iw_conn_req_handler() kojarzy nowy rdma_id_private z istniejącym iw_cm_id, a rdma_destroy_id() zwalnia oba. Poprawka zapewnia, że cm_work_handler() nie wywołuje use-after-free, czekając na zakończenie wszystkich oczekujących prac przed zwolnieniem rdma_id_private.
- CVE-2024-42284Krytyczne
W jądrze Linux w module TIPC funkcja tipc_udp_addr2str() nie zwraca wartości niezerowej w przypadku nieprawidłowego adresu UDP, co może prowadzić do przepełnienia bufora w tipc_media_addr_printf(). Poprawka polega na zwracaniu 1 dla nieprawidłowego adresu.
- CVE-2024-42232Krytyczne
W jądrze Linuxa w bibliotece libceph wykryto wyścig między delayed_work() a ceph_monc_stop(). Obsługa opóźnionej pracy w ceph_monc_stop() jest podatna na wyścigi z mon_fault() i finish_hunting(), które mogą ponownie zaplanować opóźnioną pracę po jej anulowaniu, co może prowadzić do użycia po zwolnieniu (use-after-free) na strukturze monc i powiązanych obiektach.
- CVE-2024-42108Krytyczne
W jądrze Linuxa w sterowniku sieciowym rswitch wykryto użycie po zwolnieniu (use-after-free) w funkcji rswitch_poll(). Błąd polega na tym, że wskaźnik skb jest zwalniany przed użyciem jego pola len do aktualizacji statystyk interfejsu. Poprawka przenosi instrukcje tak, aby skb->len było używane przed zwolnieniem.
- CVE-2024-41081Krytyczne
W jądrze Linux w module ILA funkcja ila_output() nie blokuje przerwań (BH), co może prowadzić do wyścigu i uszkodzenia struktur dst_cache. Poprawka polega na użyciu local_bh_disable().
- CVE-2024-41073Krytyczne
W jądrze Linuxa w podsystemie NVMe wykryto podwójne zwolnienie specjalnego ładunku (special payload). Jeśli żądanie discard wymaga ponowienia i ponowienie może się nie powieść przed dodaniem nowego ładunku, dochodzi do podwójnego zwolnienia.
- CVE-2024-41040Krytyczne
W jądrze Linux wykryto podatność use-after-free w module net/sched, związaną z rozwiązywaniem konfliktów (clash) w conntrack. Po rozwiązaniu konfliktu obiekt ct może zostać zwolniony, ale nadal jest używany w funkcji tcf_ct_flow_table_process_conn, co prowadzi do odczytu po zwolnieniu pamięci.
- CVE-2022-48851Krytyczne
W jądrze Linux w podsystemie staging (gdm724x) występuje podatność na użycie po zwolnieniu (UAF) w funkcji gdm_lte_rx(). Funkcja netif_rx_ni() zwalnia bufor skb, a następnie kod próbuje odczytać skb->len, co prowadzi do dostępu do zwolnionej pamięci.
- CVE-2022-48829Krytyczne
W jądrze Linux w NFSD naprawiono obsługę dużych rozmiarów plików w procedurach NFSv3 SETATTR/CREATE. Usunięto sprawdzenie min_t(), aby uniknąć nieoczekiwanego obcinania wartości rozmiaru pliku.
- CVE-2022-48828Krytyczne
W jądrze Linux w NFSD naprawiono problem niedomiaru (underflow) wartości ia_size. Ponieważ ia_size jest typem loff_t (ze znakiem), a rozmiar pliku w NFS jest typem bez znaku, duże wartości mogą powodować niedomiar. Dodano zabezpieczenie w nfsd_setattr().
- CVE-2022-48790Krytyczne
W jądrze Linux naprawiono podatność use-after-free w sterowniku nvme podczas resetowania kontrolera w trakcie ładowania. Problem występuje, gdy sterownik nie sprawdza gotowości kontrolera przed wysłaniem asynchronicznego zdarzenia (AER), co może prowadzić do użycia po zwolnieniu, zaobserwowanego w nvme-tcp.
- CVE-2022-48789Krytyczne
W jądrze Linux w sterowniku nvme-tcp naprawiono możliwość użycia po zwolnieniu (use-after-free) w pracy odzyskiwania po błędzie transportu. Aby zapobiec wyścigowi, praca odzyskiwania musi opróżnić async_event_work przed zniszczeniem kolejki administracyjnej.
- CVE-2022-48788Krytyczne
W jądrze Linuxa naprawiono podatność w sterowniku nvme-rdma, która mogła prowadzić do użycia po zwolnieniu (use-after-free) w pracy związanej z odzyskiwaniem po błędach transportu. Problem dotyczył wyścigu między sprawdzaniem stanu kontrolera a przygotowaniem komendy AER, co mogło skutkować nieprawidłowym działaniem.
- CVE-2024-40999Krytyczne
W jądrze Linuxa, w sterowniku sieciowym ena, dodano walidację spójności deskryptorów zakończeń. Sprawdzane jest, czy flaga 'first' jest ustawiona tylko dla pierwszego deskryptora w pakietach wielobufowych. W przypadku nieprawidłowego deskryptora nastąpi reset, a dodano nowy powód resetu dla uszkodzenia danych RX.
- CVE-2024-40983Krytyczne
W jądrze Linux w module TIPC naprawiono problem polegający na braku wymuszenia referencji do wpisu docelowego (dst) przed deszyfrowaniem. Może to prowadzić do awarii systemu w przypadku asynchronicznych żądań kryptograficznych.
- CVE-2024-40937Krytyczne
W jądrze Linuxa w sterowniku gve wykryto błąd polegający na pozostawieniu wskaźnika napi->skb wskazującego na zwolnione skb po wywołaniu dev_kfree_skb_any(). Może to prowadzić do zwisającego wskaźnika przy kolejnym wywołaniu napi_get_frags.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

