CVE-2024-26787
ŚrednieCVSS 5.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 12 - wyżej niż 12% wszystkich znanych CVE
Streszczenie
W jądrze Linux występuje błąd w sterowniku mmc: mmci: stm32, który powoduje niezbalansowanie wywołań dma_map_sg i dma_unmap_sg. W przypadku błędu w funkcji mmci_cmd_irq, funkcja dma_unmap_sg nie jest wywoływana, co prowadzi do wycieku mapowań DMA i ostrzeżeń przy włączonym CONFIG_DMA_API_DEBUG_SG.
Ocena ryzyka
Może prowadzić do wycieku zasobów DMA, niestabilności systemu i potencjalnych błędów jądra, zwłaszcza na platformach STM32MP257F-EV1.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę dla tego błędu (commit naprawczy).
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-99259Nieznane
W jądrze Linux w sterowniku soc/tegra: pmc występuje problem z niezainicjalizowaną zmienną early_pmc->rate dla starszych 32-bitowych urządzeń Tegra. Zmienna nigdy nie jest ustawiana i pozostaje równa 0, co powoduje wyzwalanie ostrzeżenia w funkcji tegra_pmc_enter_suspend_mode(). Błąd pojawił się po zmianie sterownika PMC na dynamiczne tworzenie kontekstu, gdzie zaktualizowano rate tylko w nowym kontekście.
- CVE-2026-99258Nieznane
W jądrze Linux funkcja hv_apicid_to_vp_index() używa per-CPU stron wejściowych i wyjściowych hiperwywołań. W maszynie wirtualnej SEV-SNP CoCo bez paravisora strona wyjściowa nie jest alokowana, więc hipervisor zapisuje wynikowy indeks VP do niezaalokowanej pamięci gościa. Poprawka polega na użyciu tej samej strony wejściowej również jako wyjściowej.
- CVE-2026-99257Nieznane
W jądrze Linux mechanizm współdzielonych GPIO oparty na tablicach wyszukiwania platformy wymaga powiązanego struct device. Wywołanie wyszukiwania oparte na fwnode bez powiązanego urządzenia powoduje dereferencję wskaźnika NULL. Poprawka dodaje sprawdzenie, które pozwala jąderu łagodnie obsłużyć tę sytuację błędem.
- CVE-2026-99256Nieznane
W jądrze Linux moduł dm cache używał rw_semaphore do blokady background_work_lock, mimo że blokady zapisu rw_semaphore mają ścisłą semantykę właściciela. Proces blokujący nie zawsze był tym samym, który zwalniał blokadę, co przy CONFIG_DEBUG_RWSEMS wyzwalało ostrzeżenie podczas suspend/resume urządzenia cache. Poprawka zastępuje rw_semaphore spinlockiem i kolejką oczekujących.
- CVE-2026-99251Nieznane
W jądrze Linux funkcja init_vp_index() zawiera pętlę ponawiania, która usuwa CPU z danego węzła NUMA, jeśli są już w alokowanej masce cpumask lub poza maską housekeeping HK_TYPE_MANAGED_IRQ. Jeśli maska housekeeping nie zawiera żadnego CPU w danym węźle, pętla staje się nieskończona. Poprawka pomija węzły NUMA bez CPU housekeeping i wcześniej przerywa działanie, gdy brak jest online CPU housekeeping.
- CVE-2026-99250Nieznane
W jądrze Linux wątki jądra (kthreads) NBCON odpowiedzialne za drukowanie konsoli są uruchamiane bardzo wcześnie przez early_initcall(). Asynchroniczne włączanie i wyłączanie przerwań podczas wczesnego rozruchu może zakłócać konfigurację SMP na niektórych platformach sprzętowych, powodując zawieszanie się systemu. Poprawka opóźnia uruchomienie tych wątków do momentu zakończenia wszystkich arch initcalli.
- CVE-2026-99249Nieznane
W jądrze Linux funkcja zap_pid_ns_processes() oczekująca na zwolnienie PID-ów w przestrzeni nazw nie była przerywalna przez mechanizm zamrażania (freezer). Gdy tracer spoza przestrzeni nazw nie odbiera zombie, oczekiwanie nie ma górnej granicy, a każda próba zawieszenia systemu kończy się niepowodzeniem. Poprawka wprowadza stany TASK_FREEZABLE w pętlach oczekiwania, aby freezer mógł zamrozić zadania.
- CVE-2026-99248Nieznane
W jądrze Linux w sterowniku i2c: xiic przywrócono ręczne zarządzanie runtime PM zamiast wersji opartej na devres, aby naprawić lawinę ostrzeżeń clk. Zarządzane zwalnianie zasobów wyłączało runtime PM w niewłaściwej kolejności, co powodowało podwójne wyłączenie zegara i ostrzeżenia "clkN already disabled" przy każdym usuwaniu urządzenia.
- CVE-2026-99247Nieznane
W jądrze Linux, jeśli alokacja bufora śledzenia nie powiedzie się podczas wczesnego rozruchu, tracing_disabled pozostaje ustawione, a lista zdarzeń globalnego trace array pozostaje niezainicjalizowana. Funkcja tracer_init_tracefs_work_func() uruchamiana asynchronicznie nie sprawdza tego stanu i wywołuje event_trace_init() oraz init_tracer_tracefs(), co prowadzi do dereferencji NULL i Oops podczas rozruchu. Poprawka sprawdza tracing_disabled na początku funkcji roboczej.
- CVE-2026-99215Nieznane
W jądrze Linux w podsystemie power supply występuje luka use-after-free. Jeśli zasilacz zostanie wyrejestrowany (power_supply_unregister) w trakcie wykonywania callbacku external_power_changed(), sterownik może zwolnić dane, do których callback nadal próbuje uzyskać dostęp, co prowadzi do awarii jądra (NULL pointer dereference).
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: mmc: mmci: stm32: fix DMA API overlapping mappings warning Turning on CONFIG_DMA_API_DEBUG_SG results in the following warning: DMA-API: mmci-pl18x 48220000.mmc: cacheline tracking EEXIST, overlapping mappings aren't supported WARNING: CPU: 1 PID: 51 at kernel/dma/debug.c:568 add_dma_entry+0x234/0x2f4 Modules linked in: CPU: 1 PID: 51 Comm: kworker/1:2 Not tainted 6.1.28 #1 Hardware name: STMicroelectronics STM32MP257F-EV1 Evaluation Board (DT) Workqueue: events_freezable mmc_rescan Call trace: add_dma_entry+0x234/0x2f4 debug_dma_map_sg+0x198/0x350 __dma_map_sg_attrs+0xa0/0x110 dma_map_sg_attrs+0x10/0x2c sdmmc_idma_prep_data+0x80/0xc0 mmci_prep_data+0x38/0x84 mmci_start_data+0x108/0x2dc mmci_request+0xe4/0x190 __mmc_start_request+0x68/0x140 mmc_start_request+0x94/0xc0 mmc_wait_for_req+0x70/0x100 mmc_send_tuning+0x108/0x1ac sdmmc_execute_tuning+0x14c/0x210 mmc_execute_tuning+0x48/0xec mmc_sd_init_uhs_card.part.0+0x208/0x464 mmc_sd_init_card+0x318/0x89c mmc_attach_sd+0xe4/0x180 mmc_rescan+0x244/0x320 DMA API debug brings to light leaking dma-mappings as dma_map_sg and dma_unmap_sg are not correctly balanced. If an error occurs in mmci_cmd_irq function, only mmci_dma_error function is called and as this API is not managed on stm32 variant, dma_unmap_sg is never called in this error path.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

