Podatności Linux kernel
5642 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- CVE-2024-42132Wysokie
W jądrze Linuxa naprawiono błąd w stosie Bluetooth HCI, który pozwalał na ustawienie uchwytu (handle) większego niż HCI_CONN_HANDLE_MAX. Prowadziło to do ostrzeżenia przy zwalnianiu nieprawidłowo przydzielonego uchwytu, co mogło destabilizować system.
- CVE-2024-42088Wysokie
W jądrze Linuxa, w sterowniku ASoC dla Mediatek MT8195, usunięcie wpisu codec dla łącza ETDM1_OUT_BE spowodowało, że tablica platform stała się pusta, co prowadzi do odczytu poza zakresem (KASAN) podczas inicjalizacji.
- CVE-2024-42079Średnie
W jądrze Linux w systemie plików GFS2 wykryto podatność polegającą na dereferencji wskaźnika NULL w funkcji gfs2_log_flush. Problem występuje, gdy operacje glock (blokady) są wykonywane równocześnie z odmontowaniem systemu plików, co prowadzi do dostępu do już zwolnionego obiektu sd_jdesc.
- CVE-2023-52887Wysokie
W jądrze Linux w podsystemie CAN J1939 poprawiono obsługę błędów dla blisko nadchodzących wiadomości RTS w funkcji xtp_rx_rts_session_new. Zamiast mało informacyjnych śladów WARN_ON_ONCE wprowadzono nową metodę obsługi błędów, która zapewnia jaśniejsze komunikaty i umożliwia wcześniejsze kończenie problematycznych sesji.
- CVE-2024-41046Wysokie
W jądrze Linux w sterowniku lantiq_etop wykryto podwójne zwolnienie (double free) w funkcji detach. Licznik aktualnie zwalnianych deskryptorów nie jest zwiększany, co prowadzi do wielokrotnego zwalniania tego samego skb.
- CVE-2024-41034Wysokie
W jądrze Linux w systemie plików nilfs2 wykryto błąd jądra podczas operacji rename na uszkodzonym katalogu. Funkcja nilfs_dotdot() może zwrócić lokalizację przekraczającą rozmiar strony, co prowadzi do BUG_ON w __block_write_begin_int().
- CVE-2024-41032Wysokie
W jądrze Linuxa w menedżerze pamięci vmalloc występuje problem z indeksowaniem w tablicy mieszającej, gdy cpu_possible_mask ma luki (np. na SPARC). Funkcja addr_to_vb_xa() może zwrócić indeks prowadzący do dostępu do nieistniejącego obszaru CPU, powodując oops.
- CVE-2024-41028Wysokie
W jądrze Linux w sterowniku toshiba_acpi brakuje terminatora w tablicy toshiba_dmi_quirks[], co prowadzi do odczytu poza zakresem tablicy podczas przetwarzania listy quirks. Dodano pusty wpis kończący, aby to naprawić.
- CVE-2022-48830Wysokie
W jądrze Linux w podsystemie CAN (Controller Area Network) w protokole ISO-TP wykryto wyścig (race condition) podczas odbierania ramek CAN w funkcji isotp_rcv(). Równoczesne procesy mogą zmieniać stan danych, co prowadzi do przepełnienia bufora skb (skb_over_panic).
- CVE-2022-48827Wysokie
W jądrze Linuxa naprawiono zachowanie operacji READ w NFSD w pobliżu OFFSET_MAX, które powodowało przepełnienie loff_t i zwracanie błędu EINVAL, prowadząc do nieskończonych ponowień żądań przez klienta.
- CVE-2022-48825Średnie
W jądrze Linuxa w sterowniku qedf dla kart Fibre Channel nie inicjalizowano pracy opóźnionej (stag work) dla wszystkich portów wirtualnych (vport). Powodowało to ostrzeżenie w systemie kolejek pracy i problemy z pojawianiem się tylko 32 z 64 portów NPIV online. Poprawka polega na inicjalizacji tej pracy dla wszystkich vportów.
- CVE-2022-48823Średnie
W jądrze Linuxa w sterowniku qedf (QLogic Fibre Channel) wykryto problem z licznikiem referencji, który występuje, gdy podczas wykonywania zadania zarządzania (TMF) otrzymano żądanie LOGO. Prowadzi to do zawieszenia operacji wejścia/wyjścia i pojawienia się komunikatu o zablokowanym zadaniu (hung task). Poprawka dotyczy naprawy licznika referencji.
- CVE-2022-48801Wysokie
W podsystemie IIO w jądrze Linux wykryto problem z obsługą błędów w funkcji IIO_BUFFER_GET_FD_IOCTL. Jeśli kopiowanie deskryptora pliku do przestrzeni użytkownika się nie powiedzie, kod próbuje posprzątać, używając put_unused_fd(), co jest błędne, ponieważ deskryptor został już opublikowany przez fd_install(). Prowadzi to do częściowego posprzątania i umożliwia ataki typu use-after-free na wskaźnik 'file->private_data'.
- CVE-2022-48785Wysokie
W jądrze Linuxa w podsystemie IPv6 multicast wykryto podatność polegającą na użyciu niebezpiecznej dla RCU wersji funkcji ipv6_get_lladdr(). Po usunięciu zewnętrznych blokad w kodzie MLD, funkcja ta może być wywoływana bez odpowiedniej synchronizacji, co prowadzi do dostępu do zwolnionej pamięci i awarii systemu.
- CVE-2022-48782Wysokie
W jądrze Linux w podsystemie MCTP występuje użycie po zwolnieniu (use-after-free) w funkcji route.c. Gdy mctp_key_add() zawiedzie, klucz jest zwalniany, a następnie używany w trace_mctp_key_acquire(). Dodano instrukcję else, aby używać klucza tylko po sukcesie.
- CVE-2024-40989Wysokie
W jądrze Linux w KVM dla ARM64 podczas usuwania regionu redystrybutora nie usuwano wskaźnika do tego regionu z vcpu, co mogło prowadzić do użycia zwisającego wskaźnika. Poprawka zapewnia, że vcpu nie przechowuje wskaźnika do usuniętego regionu.
- CVE-2024-40984Wysokie
W jądrze Linuxa w ACPICA cofnięto wcześniejszą poprawkę dotyczącą mapowania wielu BAR-ów. Poprzednia zmiana powodowała, że mapowanie kończyło się na granicy strony, ale odczyty/zapisy dotyczyły całej długości, co prowadziło do wyłuskania pustego wskaźnika. Teraz mapowany jest cały obszar.
- CVE-2024-40974Wysokie
W jądrze Linux dla architektury powerpc/pseries funkcje plpar_hcall() i pokrewne nie wymuszały odpowiedniego rozmiaru bufora wyników, co mogło prowadzić do przepełnienia stosu. Poprawka zmienia deklaracje na tablice o jawnym rozmiarze, co umożliwia wykrycie błędu przez kompilator.
- CVE-2024-40973Średnie
W jądrze Linux w sterowniku mtk-vcodec istnieje potencjalne wyłuskanie pustego wskaźnika (NULL pointer dereference) w SCP. Wartość zwracana przez devm_kzalloc() musi być sprawdzona, aby uniknąć tego problemu. Podobne do CVE-2022-3113.
- CVE-2024-40971Wysokie
W jądrze Linux w systemie plików f2fs podczas remontowania flagi SB_INLINECRYPT jest czyszczona i ponownie ustawiana, co w oknie czasowym może powodować, że nowe pliki nie będą używać inlinecrypt, a w przypadku włączonego wrappedkey_v0 może prowadzić do uszkodzenia danych. Poprawka usuwa czyszczenie tej flagi w default_options.
- CVE-2024-40970Wysokie
W jądrze Linux w sterowniku dw-axi-dmac występuje podatność polegająca na nadpisaniu tablicy hw_desc, gdy liczba deskryptorów przekracza przydzieloną pamięć. Może to prowadzić do paniki jądra. Poprawka dodaje nowe pole do struktury, aby śledzić liczbę przydzielonych deskryptorów i usuwa niepotrzebne wywołanie.
- CVE-2024-40925Wysokie
W jądrze Linux w podsystemie blk-flush występuje błąd w użyciu listy request.queuelist, który może prowadzić do awarii jądra. Poprawka zmienia użycie listy na list_add_tail i dodaje inicjalizację listy w callbacku flush.
- CVE-2024-40924Wysokie
W sterowniku graficznym i915 w jądrze Linux wykryto problem z obiektem DPT (Display Page Table), który może zostać zmniejszony (shrink) w niektórych scenariuszach, podczas gdy rzeczywisty framebuffer nie został zmniejszony. Prowadzi to do próby przepisania wpisów PTEs przez nieaktualne mapowanie CPU, co powoduje panikę systemu.
- CVE-2024-40920Wysokie
W jądrze Linux w funkcji br_mst_set_state mostu sieciowego występuje podejrzane użycie RCU, które może prowadzić do ostrzeżeń i potencjalnych błędów. Poprawka zmienia dereferencję grupy VLAN na odpowiednią funkcję RCU.
- CVE-2024-40909Wysokie
W jądrze Linux w podsystemie BPF istnieje potencjalna podatność use-after-free w funkcji bpf_link_free(). Po pewnym commicie, link BPF może być zwolniony przez dealloc_deferred, ale kod nadal używa dealloc, co prowadzi do użycia po zwolnieniu.
- CVE-2024-40901Wysokie
W jądrze Linux w sterowniku SCSI mpt3sas występuje potencjalny dostęp poza przydzieloną pamięcią podczas używania test_bit() i set_bit() na pojedynczym słowie. Poprawka zwiększa alokację do rozmiaru unsigned long, aby zapewnić wystarczającą przestrzeń.
- CVE-2024-40900Wysokie
W jądrze Linux w module cachefiles występuje podatność use-after-free, ponieważ żądania nie są usuwane z tablicy xarray podczas ich opróżniania. Może to prowadzić do użycia zwolnionej pamięci. Poprawka usuwa żądania z xarray podczas opróżniania.
- CVE-2024-39507Wysokie
W jądrze Linux w sterowniku sieciowym hns3 występuje problem prowadzący do awarii jądra w scenariuszu współbieżnym. Gdy zmienia się stan łącza, sterownik NIC powiadamia sterownik roce, ale w tym czasie sterownik roce może być niezainicjalizowany, co powoduje crash.
- CVE-2024-39496Wysokie
W jądrze Linux w systemie plików btrfs występuje podatność use-after-free spowodowana wyścigiem podczas operacji wymiany urządzenia. Podczas ładowania informacji o strefie, urządzenie jest pobierane z mapy fragmentów bez odpowiedniej synchronizacji, co może prowadzić do użycia zwolnionej pamięci po zakończeniu wymiany urządzenia.
- CVE-2024-39494Wysokie
W jądrze Linux w module IMA (Integrity Measurement Architecture) wykryto podatność na użycie po zwolnieniu (use-after-free) dotyczącą pola dname.name w strukturze dentry. Nazwa może zostać zmieniona podczas rename, a wcześniejsza wartość może zostać zwolniona, co prowadzi do niebezpiecznego odwołania.
- CVE-2024-39478Wysokie
W jądrze Linux w module crypto starfive występuje podatność polegająca na wywołaniu kfree na buforze alokowanym na stosie. Dane tekstowe RSA używają bufora o zmiennej długości alokowanego na stosie, a jego zwolnienie powoduje niezdefiniowane zachowanie w kolejnych operacjach.
- CVE-2024-34027Wysokie
W jądrze Linuxa naprawiono podatność związaną z funkcjami {reserve,release}_compress_blocks() w kontekście blokady cp_rwsem. Brak odpowiedniego zabezpieczenia może prowadzić do wyścigu z checkpointem, co skutkuje uszkodzeniem metadanych systemu plików.
- CVE-2024-38659Wysokie
W jądrze Linuxa zidentyfikowano podatność w funkcji enic_set_vf_port, która nieprawidłowo zakłada długość atrybutów nl. Weryfikacja długości atrybutów nie jest dokładna, co może prowadzić do nieautoryzowanego dostępu do pamięci.
- CVE-2024-38635Wysokie
W jądrze systemu Linux zidentyfikowano podatność związaną z nieprawidłowym przesunięciem PDI w kodzie SoundWire, co prowadzi do dostępu poza granice tablicy. Problem ten został rozwiązany poprzez usunięcie zbędnego przesunięcia.
- CVE-2024-38623Wysokie
W jądrze Linux w systemie plików NTFS3 użyto tablicy o stałym rozmiarze zamiast tablicy o zmiennej długości, co powoduje ostrzeżenie smatch o zbyt małym rozmiarze bufora podczas kopiowania nazwy. Poprawka zmienia na tablicę o zmiennej długości.
- CVE-2024-38381Wysokie
W jądrze systemu Linux zidentyfikowano podatność związaną z nieprawidłowym dostępem do niezainicjowanej wartości w funkcji nci_rx_work(). Problem polega na braku walidacji rozmiaru nagłówka, rozmiaru ładunku i całkowitego rozmiaru pakietu przed jego przetworzeniem.
- CVE-2022-48743Wysokie
W jądrze Linux w sterowniku sieciowym amd-xgbe występuje podatność polegająca na niedomiarze długości skb (skb data length underflow). Wykrycie takiego niedomiaru wyzwala BUG_ON() w include/linux/skbuff.h, co prowadzi do sporadycznej paniki jądra. Poprawka polega na odrzucaniu pakietu, gdy wystąpi niedomiar długości z powodu niespójności w deskryptorach sprzętowych.
- CVE-2022-48716Wysokie
W jądrze Linux w kodzie ASoC codecs wcd938x występuje nieprawidłowe użycie identyfikatora portu. Kontrolki miksera mają identyfikator kanału w mixer->reg, który nie jest tym samym co identyfikator portu. Poprawka wyprowadza identyfikator portu z tablicy chan_info, aby uniknąć dostępu poza zakres tablicy port_map.
- CVE-2021-47620Wysokie
W jądrze Linux w podsystemie Bluetooth poprawiono sprawdzanie złośliwych danych reklamowych. Wcześniej sprawdzenie odczytu poza zakresem było wykonywane na końcu pętli, co generowało fałszywe alarmy w dzienniku. Teraz sprawdzenie przeniesiono na początek pętli, aby uniknąć sprawdzania po przesunięciu wskaźnika.
- CVE-2024-38620Wysokie
W jądrze Linux usunięto wsparcie dla HCI_AMP (Alternate MAC/PHY) w Bluetooth, ponieważ technologia BT_HS została usunięta i kontrolery AMP nie mają już zastosowania. Usunięto również możliwość tworzenia kontrolerów AMP oraz pole hdev->dev_type.
- CVE-2021-47611Wysokie
W jądrze Linux w podsystemie mac80211 przed próbą parsowania elementu rozszerzonego nie jest weryfikowana obecność identyfikatora elementu rozszerzonego, co może prowadzić do nieprawidłowego przetwarzania ramek.
- CVE-2021-47610Średnie
W jądrze Linux w sterowniku MSM (dla układów Qualcomm) występuje błąd dereferencji pustego wskaźnika w funkcji msm_ioctl_gem_submit, co może prowadzić do paniki jądra.
- CVE-2024-38612Wysokie
W jądrze Linuxa zidentyfikowano podatność związaną z błędną ścieżką błędu w funkcji seg6_init() w przypadku, gdy CONFIG_IPV6_SEG6_LWTUNNEL nie jest zdefiniowane. W takim przypadku, jeśli seg6_hmac_init() zakończy się niepowodzeniem, funkcja genl_unregister_family() nie jest wywoływana.
- CVE-2024-38605Wysokie
W jądrze Linuxa w podsystemie ALSA core występuje błąd polegający na nieprawidłowym przypisaniu wskaźnika modułu podczas inicjalizacji karty dźwiękowej. Gdy rdzeń dźwiękowy jest wbudowany (CONFIG_SND=y), a sterownik jest modułem (np. CONFIG_SND_USB_AUDIO=m), wskaźnik modułu jest ignorowany, co prowadzi do braku odpowiedniego odwołania do modułu i może powodować wyścig podczas usuwania modułu.
- CVE-2024-38587Wysokie
W jądrze Linuxa w module speakup występuje błąd polegający na użyciu sizeof() zamiast ARRAY_SIZE() dla wskaźnika buf, który jest tablicą wartości u16. Powoduje to możliwość wyjścia poza zakres tablicy, co może prowadzić do nieprawidłowego działania lub naruszenia bezpieczeństwa.
- CVE-2024-38552Wysokie
W jądrze Linux w funkcji transformacji kolorów sterownika AMD Display wykryto potencjalne wyjście poza zakres indeksu. Problem występuje, gdy indeks 'i' przekracza liczbę punktów funkcji transferu (TRANSFER_FUNC_POINTS), co może prowadzić do przepełnienia bufora. Dodano sprawdzenie granic, które loguje błąd i zwraca false w przypadku przekroczenia.
- CVE-2024-38541Wysokie
W jądrze Linux naprawiono podatność w funkcji of_modalias() w module of. Jeśli bufor jest zbyt mały nawet dla pierwszego wywołania snprintf(), parametr len staje się ujemny, a parametr str (jeśli nie był NULL) wskazuje poza koniec bufora. Dodano sprawdzenie przepełnienia bufora po pierwszym wywołaniu snprintf() i poprawiono sprawdzenie po wywołaniu strlen() (uwzględniając kończący znak NUL).
- CVE-2024-36978Wysokie
W jądrze Linuxa zidentyfikowano podatność, która została naprawiona. Problem dotyczy funkcji multiq_tune(), gdzie może wystąpić zapis poza granicami pamięci (OOB) w wyniku niewłaściwego użycia zmiennej q->bands po alokacji pamięci.
- CVE-2024-36960Wysokie
W jądrze Linux w sterowniku graficznym vmwgfx występuje podatność nieprawidłowych odczytów w zdarzeniach sygnalizowanych przez fence. Długość zdarzenia drm_event jest ustawiana na rozmiar struktury nadrzędnej zamiast na rozmiar właściwej struktury drm_vmw_event_fence, co prowadzi do odczytów poza zakresem podczas kopiowania zdarzenia do przestrzeni użytkownika.
- CVE-2024-36940Wysokie
W jądrze Linuxa zidentyfikowano podatność polegającą na nieprawidłowym zwolnieniu pamięci w funkcji pinctrl_enable(). Struktura 'pctldev' jest alokowana w devm_pinctrl_register_and_init() i jest zarządzana przez devm_, co prowadzi do podwójnego zwolnienia pamięci.

