Podatności Linux kernel
7565 znanych podatności CVE w Linux kernel, przetłumaczonych i ocenionych.
- 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.
- CVE-2024-36929Wysokie
W jądrze Linux w podsystemie sieciowym (net: core) funkcje skb_copy i skb_copy_expand nie odrzucają pakietów SKB_GSO_FRAGLIST, które nie mogą być linearyzowane. Przekazanie takiego pakietu może prowadzić do awarii przy późniejszym wywołaniu skb_gso_segment.
- CVE-2024-36927Średnie
W jądrze Linux wykryto podatność polegającą na dostępie do niezainicjalizowanej wartości w funkcji __ip_make_skb(). Problem wynika z wyścigu przy sprawdzaniu flagi HDRINCL oraz braku inicjalizacji pól fl4_icmp_type i fl4_icmp_code w strukturze flowi4.
- CVE-2024-36903Średnie
W jądrze Linux wykryto podatność w funkcji __ip6_make_skb() dla IPv6, polegającą na potencjalnym dostępie do niezainicjalizowanej wartości. Problem wynika z nieprawidłowego sprawdzania flagi HDRINCL na gnieździe, co może prowadzić do wyścigu i odczytu niezainicjalizowanych danych.
- CVE-2024-36883Wysokie
W jądrze Linux w funkcji ops_init wykryto podatność na dostęp poza zakresem (out-of-bounds access). Problem wynika z podwójnego odczytu zmiennej max_gen_ptrs bez odpowiedniego blokowania, co może prowadzić do przydzielenia mniejszej tablicy niż później używana.
- CVE-2024-36016Wysokie
W jądrze Linux w sterowniku tty n_gsm istnieje podatność na zapis poza zakresem w funkcji gsm0_receive(). Przy przełączaniu trybów i wysyłaniu danych przekraczających gsm->len może dojść do zapisu poza bufor, co grozi uszkodzeniem pamięci.
- CVE-2021-47559Wysokie
W jądrze Linux w module net/smc występuje podatność na dereferencję wskaźnika NULL w funkcji smc_vlan_by_tcpsk(). Narzędzie Coverity wykryło, że funkcja netdev_lower_get_next może zwrócić NULL, a następnie ten wskaźnik jest używany bez sprawdzenia w is_vlan_dev(). Poprawka zastępuje ręczną iterację funkcją netdev_walk_all_lower_dev().
- CVE-2021-47551Wysokie
W jądrze Linux w sterowniku AMD dla KFD występuje podatność prowadząca do paniki jądra, gdy reset nie powiedzie się i zostanie wywołany ponownie. W konfiguracji SRIOV, jeśli reset nie przywróci układu ASIC do normalnego stanu, ale funkcja stop_cpsch została już wywołana, to przy ponownym resecie sterownik może wykonać nieprawidłową deinicjalizację.
- CVE-2021-47541Wysokie
W jądrze Linux w sterowniku mlx4_en wykryto błąd use-after-free w funkcji mlx4_en_try_alloc_resources(). Po wywołaniu mlx4_en_copy_priv() i błędzie, tmp->tx_cq jest zwalniane, a następnie w mlx4_en_alloc_resources() następuje dereferencja &tmp->tx_cq[t][i], co prowadzi do użycia po zwolnieniu. Dodano sprawdzenie wyniku mlx4_en_copy_priv(), aby to naprawić.
- CVE-2021-47520Wysokie
W jądrze Linux w sterowniku pch_can dla magistrali CAN występuje użycie po zwolnieniu (use-after-free) w funkcji pch_can_rx_normal. Po wywołaniu netif_receive_skb(skb) odwoływanie się do skb jest niebezpieczne, a struktura can_frame jest nadal używana.
- CVE-2021-47515Wysokie
W jądrze Linux w seg6 (Segment Routing IPv6) podczas enkapsulacji pakietu IPv4 w nagłówek IPv6+SRH, funkcja seg6_do_srh_encap czyści blok kontrolny IPv6, co powoduje utratę indeksu interfejsu odbierającego. Może to prowadzić do dereferencji pustego wskaźnika, gdy włączone jest zliczanie statystyk.
- CVE-2024-36013Wysokie
W jądrze Linuxa w podsystemie Bluetooth L2CAP wykryto podatność na użycie po zwolnieniu (slab-use-after-free) w funkcji l2cap_connect(). Problem wynika z braku odpowiedniego rozszerzenia sekcji krytycznej, co pozwala na przedwczesne zwolnienie struktury chan przed jej użyciem. Łatka wydłuża sekcję krytyczną i zmienia typ zwracany funkcji na void, aby zapobiec wyciekom wskaźników.
- CVE-2021-47433Wysokie
W jądrze Linux w systemie plików btrfs wykryto błąd w logice przerywania operacji w funkcji btrfs_replace_file_extents. W wyniku błędnego warunku może dojść do uszkodzenia systemu plików z brakującym fragmentem danych w środku pliku. Problem występuje, gdy operacja kończy się błędem innym niż -EOPNOTSUPP, a kod pochodzi z prealloc, co nie powinno powodować przerwania.
- CVE-2023-52846Wysokie
W jądrze Linux w podsystemie HSR występuje użycie po zwolnieniu (use-after-free) w funkcji prp_create_tagged_frame(). Funkcja prp_fill_rct() może zakończyć się niepowodzeniem, zwalniając skb i zwracając NULL, ale wcześniej zwracany jest oryginalny skb, co prowadzi do użycia zwolnionej pamięci.
- CVE-2023-52834Wysokie
W jądrze Linux w sterowniku atl1c występuje podatność związana z przepełnieniem DMA RX. Problem rozwiązano, sprawdzając adres przydzielonego skb i używając skb_reserve() do uniknięcia problematycznego adresu 0x...fc0. Testy przeprowadzono na AR8131 w Acer 4540.
- CVE-2023-52801Wysokie
W jądrze Linuxa w podsystemie iommufd występuje podatność polegająca na braku aktualizacji drzewa domains_itree po podziale obszaru iopt_area. Jeśli oryginalny obszar był powiązany z domeną, strony nie są poprawnie ponownie wstawiane, co prowadzi do uszkodzenia drzewa i użycia po zwolnieniu (UAF).
- CVE-2023-52798Wysokie
W jądrze Linuxa w sterowniku wifi ath11k występuje brak oznaczenia sekcji krytycznej RCU podczas obsługi zdarzeń radaru DFS. Kod wywołujący ath11k_mac_get_ar_by_pdev_id() nie był oznaczony jako sekcja krytyczna odczytu RCU, co może prowadzić do użycia po zwolnieniu.
- CVE-2023-52776Wysokie
W jądrze Linuxa, w sterowniku Wi-Fi ath12k, wykryto problem z synchronizacją (RCU) w obsłudze zdarzeń DFS-radar i temperatury. Kod nie był oznaczony jako sekcja krytyczna odczytu RCU, co może prowadzić do użycia po zwolnieniu (use-after-free).
- CVE-2023-52769Wysokie
W jądrze Linux w sterowniku WiFi ath12k występuje problem z blokowaniem podczas obsługi zdarzeń htt mlo-offset. Kod nie był oznaczony jako sekcja krytyczna RCU, co może prowadzić do użycia po zwolnieniu.
- CVE-2021-47431Średnie
W jądrze Linux w sterowniku AMDGPU występuje wyciek licznika pin_count dla obiektu gart.bo. Funkcja wyłączająca GART nie jest wywoływana w scenariuszu SRIOV, co prowadzi do wycieku podczas odładowania sterownika.
- CVE-2021-47410Średnie
W jądrze Linux w sterowniku AMDKFD funkcja svm_migrate_fini wywołuje zbędne operacje zwalniania zasobów, co prowadzi do ostrzeżeń i potencjalnych problemów podczas odłączania sterownika.
- CVE-2021-47397Wysokie
W jądrze Linux w protokole SCTP funkcja sctp_rcv_ootb nie sprawdza, czy skb_header_pointer zwraca NULL przed użyciem, co może prowadzić do dereferencji wskaźnika NULL. Poprawka dodaje sprawdzenie i wyjście z funkcji, gdy zwracana jest wartość NULL.
- CVE-2021-47388Wysokie
W jądrze Linux w podsystemie mac80211 występuje użycie po zwolnieniu (use-after-free) podczas odbioru ramek CCMP/GCMP. W pewnych warunkach zmienna 'hdr' może być nieprawidłowa, co prowadzi do użycia zwolnionej pamięci.
- CVE-2021-47374Wysokie
W jądrze Linuxa w module dma-debug komunikat o błędzie może być generowany miliony razy na sekundę, co powoduje spam w buforze printk i obciążenie CPU do 100%. Problem dotyczy sterowników korzystających z API DMA.
- CVE-2021-47368Wysokie
W jądrze Linux w sterowniku enetc występuje nielegalny dostęp do pamięci podczas odczytu pliku affinity_hint w procfs. Funkcja irq_set_affinity_hit() przechowuje referencję do tymczasowej zmiennej na stosie, co prowadzi do błędu strony przy późniejszym dostępie. Problem rozwiązano za pomocą pomocniczej funkcji get_cpu_mask(), która zapewnia trwałe przechowywanie.
- CVE-2021-47354Wysokie
W jądrze Linux w drm/sched (GPU scheduler) przed zabiciem zadania należy poczekać na zakończenie wszystkich jego zależności, aby uniknąć uszkodzenia danych.
- CVE-2021-47347Wysokie
W jądrze Linux w sterowniku wl1251 funkcja wl1251_cmd_scan wywołuje memcpy bez sprawdzania długości, co może prowadzić do przepełnienia bufora. Poprawka polega na sprawdzeniu, czy długość mieści się w maksymalnym dozwolonym rozmiarze.
- CVE-2021-47335Średnie
W jądrze Linux naprawiono podatność w systemie plików f2fs, gdzie wiele instancji systemu plików mogło rywalizować o dostęp do globalnego wskaźnika fsync_entry_slab, co prowadziło do użycia po zwolnieniu (use-after-free) podczas odzyskiwania danych. Poprawka inicjalizuje i niszczy ten cache tylko raz podczas inicjalizacji i zniszczenia modułu, aby uniknąć problemu.
- CVE-2021-47316Wysokie
W jądrze Linuxa naprawiono błąd wyłuskania NULL w funkcji nfs3svc_encode_getaclres w nfsd, który występował w przypadkach błędów, gdy dentry mogło być NULL.
- CVE-2021-47308Wysokie
W jądrze Linux naprawiono podatność w module scsi/libfc, polegającą na wyjściu poza zakres tablicy w funkcji fc_rport_prli_resp().
- CVE-2021-47307Wysokie
W jądrze Linux w module CIFS (Common Internet File System) występuje podatność na wyłuskanie pustego wskaźnika w funkcji cifs_compose_mount_options(). Opcjonalny parametr @ref może zawierać pusty node_name, co prowadzi do próby dereferencji pustego wskaźnika.
- CVE-2021-47290Wysokie
W jądrze Linux w podsystemie SCSI target występuje dereferencja wskaźnika NULL podczas kończenia operacji XCOPY. Funkcja target_complete_cmd() używa wskaźnika se_tpg_wwn, który jest NULL dla globalnego tpg używanego przez XCOPY, co prowadzi do paniki. Poprawka sprawdza, czy se_tpg_wwn jest NULL i wtedy używa se_cmd->cpuid.
- CVE-2021-47259Wysokie
W jądrze Linux w NFS występuje use-after-free w nfs4_init_client(), gdy próbujemy zamontować dwa różne eksporty przez dwa różne interfejsy sieciowe należące do tego samego serwera. Problem został zgłoszony przez KASAN.
- CVE-2021-47253Średnie
W jądrze Linux w sterowniku graficznym AMD Display Manager (DMUB) występuje wyciek pamięci podczas operacji wstrzymania i wznowienia systemu. Funkcja inicjalizująca DMUB alokuje pamięć przy każdym wznowieniu, co prowadzi do narastającego wycieku.
- CVE-2021-47245Wysokie
W jądrze Linux w module netfilter synproxy parser opcji TCP (synproxy_parse_options) może odczytać jeden bajt poza granicami. Gdy długość wynosi 1, wykonanie wchodzi w pętlę, odczytuje jeden bajt opcode, a jeśli nie jest to TCPOPT_EOL ani TCPOPT_NOP, odczytuje kolejny bajt, co przekracza długość 1. Poprawka dodaje wczesny powrót, gdy długość < 0.
- CVE-2021-47244Wysokie
W jądrze Linux w mptcp (Multipath TCP) parser opcji TCP (mptcp_get_options) może czytać jeden bajt poza zakresem, gdy długość opcji wynosi 1. Poprawka jest inspirowana podobną poprawką dla IPv4 TCP.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

