CVE-2026-53062
WysokieCVSS 7.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
W jądrze Linuxa w menedżerze zasad pamięci podręcznej (cache policy) SMQ dla urządzeń dm-cache brakuje blokad podczas unieważniania bloków pamięci podręcznej w trybie passthrough. Współbieżne operacje unieważniania z wielu wątków roboczych mogą prowadzić do wyścigów danych na liczniku przydzielonych bloków oraz do użycia po zwolnieniu (use-after-free) wewnętrznych struktur danych.
Ocena ryzyka
Organizacja może doświadczyć uszkodzenia danych lub niestabilności systemu podczas korzystania z pamięci podręcznej dm-cache w trybie passthrough, szczególnie przy intensywnym zapisie. Może to prowadzić do utraty integralności danych i potencjalnych awarii systemu.
Rekomendacja
Należy natychmiast zaktualizować jądro Linuxa do wersji zawierającej poprawkę dla CVE-2026-53062. Jeśli aktualizacja nie jest możliwa, należy unikać używania trybu passthrough dla urządzeń dm-cache lub ograniczyć współbieżne operacje zapisu.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-99284Nieznane
W jądrze Linux rozwiązano podatność w funkcji skb_zerocopy() w podsystemie sieciowym skbuff. Funkcja nie propaguje znacznika shared-frag do docelowego skb, co łamie niezmiennik używany przez późniejsze zapisy w miejscu. W wyniku tego nieuprzywilejowany użytkownik może zapisywać do pamięci podręcznej stron pliku tylko do odczytu należącego do roota.
- CVE-2026-99283Nieznane
W jądrze Linux w module netfilter conntrack dla TCP wykryto błąd wyboru timeoutu dla pakietów RST. Gdy pakiet RST nie pasuje dokładnie do oczekiwanego numeru sekwencji, wpis conntrack pozostaje w stanie ESTABLISHED, ale mimo to stosowany jest krótki timeout CLOSE (10 sekund). Drugi niedokładny RST może obniżyć timeout, zanim wygaśnie limit challenge ACK, co pozwala wpisowi conntrack wygasnąć, podczas gdy oba punkty końcowe TCP pozostają w stanie established.
- CVE-2026-99282Nieznane
W jądrze Linux w module net/sched: sch_teql występuje podatność use-after-free. Funkcja teql_master_xmit() błędnie interpretuje kod zwrotny NET_XMIT_DROP jako niezużyty pakiet i wykonuje na nim operacje po zwolnieniu pamięci. Problem dotyczy konfiguracji z interfejsem VLAN i qdisc pfifo z limitem 0.
- CVE-2026-99281Nieznane
W jądrze Linux naprawiono lukę w mechanizmie tun/tap, która pozwalała procesom bez uprawnień CAP_NET_ADMIN dołączać się do trwałych urządzeń tun, które nie miały ustawionego właściciela ani grupy. Wystarczał dostęp do węzła /dev/net/tun, aby przechwycić lub wstrzykiwać ruch sieciowy. Poprawka wymaga teraz CAP_NET_ADMIN do dołączenia do urządzenia bez właściciela i grupy.
- CVE-2026-99280Nieznane
W jądrze Linux w module ksmbd rozwiązano podatność polegającą na tym, że niepowodzenie rejestracji sesji i czyszczenie połączenia mogą zwolnić referencję tabeli, gdy wpis procfs sesji jest nadal dostępny. Może to prowadzić do użycia po zwolnieniu (use-after-free) i problemów z współbieżnością.
- CVE-2026-99278Nieznane
W jądrze Linux w module ksmbd rozwiązano podatność polegającą na tym, że limit oczekujących sesji uwzględnia tylko sesje InProgress. Klient może wielokrotnie kończyć uwierzytelnianie i utrzymywać nieograniczoną liczbę sesji Valid na jednym połączeniu.
- 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.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: dm cache policy smq: fix missing locks in invalidating cache blocks In passthrough mode, the policy invalidate_mapping operation is called simultaneously from multiple workers, thus it should be protected by a lock. Otherwise, we might end up with data races on the allocated blocks counter, or even use-after-free issues with internal data structures when doing concurrent writes. Note that the existing FIXME in smq_invalidate_mapping() doesn't affect passthrough mode since migration tasks don't exist there, but would need attention if supporting fast device shrinking via suspend/resume without target reloading. Reproduce steps: 1. Create a cache device consisting of 1024 cache entries dmsetup create cmeta --table "0 8192 linear /dev/sdc 0" dmsetup create cdata --table "0 131072 linear /dev/sdc 8192" dmsetup create corig --table "0 262144 linear /dev/sdc 262144" dd if=/dev/zero of=/dev/mapper/cmeta bs=4k count=1 oflag=direct dmsetup create cache --table "0 262144 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 writethrough smq 0" 2. Populate the cache, and record the number of cached blocks fio --name=populate --filename=/dev/mapper/cache --rw=randwrite --bs=4k \ --size=64m --direct=1 nr_cached=$(dmsetup status cache | awk '{split($7, a, "/"); print a[1]}') 3. Reload the cache into passthrough mode dmsetup suspend cache dmsetup reload cache --table "0 262144 cache /dev/mapper/cmeta \ /dev/mapper/cdata /dev/mapper/corig 128 2 metadata2 passthrough smq 0" dmsetup resume cache 4. Write to the passthrough cache. By setting multiple jobs with I/O size equal to the cache block size, cache blocks are invalidated concurrently from different workers. fio --filename=/dev/mapper/cache --name=test --rw=randwrite --bs=64k \ --direct=1 --numjobs=2 --randrepeat=0 --size=64m 5. Check if demoted matches cached block count. These numbers should match but may differ due to the data race. nr_demoted=$(dmsetup status cache | awk '{print $12}') echo "$nr_cached, $nr_demoted"
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

