Podatności Linux kernel
7564 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2024-56779Krytyczne
W jądrze Linux wykryto podatność w serwerze NFS (nfsd), która prowadzi do wycieku pamięci (memory leak) podczas równoczesnych operacji otwierania plików (nfsd4_open). Problem wynika z nieprawidłowego zarządzania obiektami nfs4_openowner, gdy dwa równoległe żądania otwarcia tego samego pliku są przetwarzane przez różne wątki nfsd. W skrajnych przypadkach może to doprowadzić do awarii systemu (kernel panic) podczas zatrzymywania serwera NFS.
- CVE-2024-56719Krytyczne
W jądrze Linux w sterowniku stmmac wykryto błąd w obsłudze DMA dla TSO, który powoduje oops. Problem wynika z przesunięcia przypisania cookie DMA w funkcji stmmac_tso_xmit(), co prowadzi do niezgodności z wymaganiami API DMA. Skutkuje to niepowodzeniem mapowania DMA i komunikatami o próbie zwolnienia nieprzydzielonej pamięci DMA.
- CVE-2024-56645Krytyczne
W jądrze Linux w podsystemie CAN (J1939) występuje błąd w zliczaniu referencji skb w funkcji j1939_session_new(). Funkcja j1939_session_skb_queue() wykonuje dodatkowe skb_get() dla każdego nowego skb, ale dla początkowego skb tego nie robi, co prowadzi do niedomiaru licznika referencji.
- CVE-2024-53209Krytyczne
W jądrze Linuxa w sterowniku bnxt_en wykryto podatność związaną z nieprawidłowym zarządzaniem parametrami pierścienia odbiorczego podczas zmiany MTU przy aktywnym XDP. Zmiana MTU po podłączeniu bufora wielokrotnego XDP może prowadzić do niespójności konfiguracji pierścienia agregacji, co skutkuje przypadkowym uszkodzeniem pamięci i awariami systemu.
- CVE-2024-53206Krytyczne
W jądrze Linux w stosie TCP występuje podatność use-after-free w funkcji reqsk_timer_handler(). Poprzednia poprawka zastąpiła inet_csk_reqsk_queue_drop_and_put() przez __inet_csk_reqsk_queue_drop() i reqsk_put(), ale przekazuje niewłaściwy wskaźnik (req zamiast oreq) do reqsk_put(), co może prowadzić do użycia po zwolnieniu.
- CVE-2024-53197WysokieAktywnie exploitowane
W jądrze Linux w podsystemie ALSA USB-audio występuje podatność polegająca na potencjalnym dostępie poza granicami bufora dla urządzeń Extigy i Mbox. Złośliwe urządzenie może podać wartość bNumConfigurations przekraczającą początkową wartość używaną w usb_get_configuration do alokacji dev->config, co prowadzi do dostępów poza granicami.
- CVE-2024-53186Krytyczne
W jądrze Linux w module ksmbd występuje podatność polegająca na wyścigu między obsługą żądań SMB w funkcji ksmbd_conn_handler_loop() a zwalnianiem struktury ksmbd_conn w handlerze workqueue handle_ksmbd_work(). Prowadzi to do użycia po zwolnieniu (UAF). Poprawka rozwiązuje ten problem.
- CVE-2024-53179Krytyczne
W kliencie SMB jądra Linux wykryto użycie po zwolnieniu (use-after-free) klucza podpisującego w strukturze sesji. Wyścig między operacjami montowania a wysyłaniem pakietów może prowadzić do dostępu do zwolnionej pamięci podczas obliczania podpisu.
- CVE-2024-53176Krytyczne
W jądrze Linux w systemie plików CIFS/SMB wykryto podatność prowadzącą do BUG-a podczas odmontowywania. Wyścig między procesem odmontowania a operacjami na katalogach buforowanych powoduje, że dentry nie są zwalniane, co wywołuje błąd jądra. Problem rozwiązano przez przeniesienie zwalniania dentry do kolejki prac i odpowiednie synchronizowanie.
- CVE-2024-53150WysokieAktywnie exploitowane
W jądrze Linux w sterowniku ALSA USB-audio nie sprawdzano pola bLength deskryptorów zegara podczas ich przeglądania, co przy błędnym deskryptorze o zbyt krótkiej długości mogło prowadzić do odczytów poza granicami bufora. Poprawka dodaje kontrole poprawności długości deskryptorów, w tym dodatkowe sprawdzenia dla deskryptora selektora zegara UAC2 i UAC3.
- CVE-2024-53146Krytyczne
W jądrze Linuxa w module NFSD wykryto potencjalne przepełnienie liczby całkowitej. Jeśli długość tagu jest większa lub równa U32_MAX - 3, operacja dodawania "length + 4" może spowodować przepełnienie. Poprawka polega na podzieleniu dekodowania na kilka kroków, aby uniknąć arytmetyki na niebezpiecznej wartości długości.
- CVE-2024-53138Krytyczne
W jądrze Linux w sterowniku mlx5e dla kTLS wykryto nieprawidłowe zliczanie referencji stron. Mieszanie funkcji get_page() i page_ref_inc() przy zwiększaniu referencji oraz używanie tylko put_page() przy zwalnianiu prowadzi do zbyt częstego dereferencjonowania strony folio, co może powodować błędy pamięci.
- CVE-2024-53104WysokieAktywnie exploitowane
W jądrze Linux w module media uvcvideo funkcja uvc_parse_format nie pomijała ramek typu UVC_VS_UNDEFINED, co mogło prowadzić do zapisów poza granicami bufora, ponieważ ten typ ramek nie był uwzględniany przy obliczaniu rozmiaru bufora w uvc_parse_streaming.
- CVE-2024-53094Krytyczne
W jądrze Linux w sterowniku RDMA/siw brakuje sprawdzenia sendpage_ok(), co prowadzi do użycia strony slab w sendpage i wyzwala ostrzeżenie w skb_splice_from_iter(). Problem występuje podczas pracy ISER over SIW.
- 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-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 Linuxa naprawiono podatność w funkcji nf_reject_ip6_tcphdr_put(), która mogła wysyłać nieprawidłowe dane w zarezerwowanych bitach TCP. Użycie skb_put_zero() pozwala na wyczyszczenie 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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

