CVE-2026-80876
NieznaneStreszczenie
W jądrze Linux wykryto podatność w mechanizmie ring-buffer (bufor pierścieniowy) używanym przez ftrace. Przy włączonej opcji RB_FORCE_8BYTE_ALIGNMENT (np. na architekturze riscv64 z CONFIG_HAVE_64BIT_ALIGNED_ACCESS) funkcja ring_buffer_event_length() nieprawidłowo oblicza długość zdarzeń dla małych zdarzeń, zawyżając raportowaną długość danych o 4 bajty. Problem objawia się niespójnymi wynikami w testach ftrace (trace_marker_raw).
Ocena ryzyka
Podatność prowadzi do błędnych odczytów długości zdarzeń w ring-buffer, co może powodować nieprawidłowe działanie narzędzi diagnostycznych (ftrace) i utrudniać analizę systemu. W skrajnych przypadkach może to wpłynąć na stabilność lub bezpieczeństwo systemów używających tych mechanizmów na architekturach z wymuszonym 8-bajtowym wyrównaniem.
Rekomendacja
Zaleca się jak najszybsze zastosowanie poprawki dostarczonej przez producenta jądra Linux (aktualizacja do wersji zawierającej fix dla CVE-2026-80876). Należy monitorować biuletyny bezpieczeństwa dystrybucji i przetestować system po aktualizacji.
Inne podatności w Linux kernel
Zobacz wszystkie- CVE-2026-80919Nieznane
W jądrze Linux w sterowniku amdgpu wykryto podatność polegającą na rekurencyjnym blokowaniu mutexu w funkcji amdgpu_devcoredump_format(). Podczas zrzutu zawartości IB z zawieszonego zadania dochodzi do podwójnego zablokowania tego samego obiektu synchronizującego, co może prowadzić do zakleszczenia systemu. Problem został naprawiony przez przeniesienie operacji do osobnej funkcji używającej jednego kontekstu drm_exec.
- CVE-2026-80915Nieznane
W jądrze Linux w sterowniku drm/xe naprawiono ścieżki alokacji DPT. Usunięto mechanizm awaryjnego przełączania z pamięci VRAM na pamięć systemową, ponieważ nie działał poprawnie i powodował czarny ekran z błędami potoku. Dodatkowo uniknięto używania pamięci stolen ze względu na opóźnienia i ryzyko losowych zawieszeń systemu pod obciążeniem.
- CVE-2026-80886Nieznane
W jądrze Linux naprawiono podatność w sterowniku szeregowym msm, polegającą na wyłączeniu DMA dla konsoli UART. Jednoczesne zapisy z przestrzeni użytkownika i jądra mogą powodować wyścig, prowadzący do nieskończonej pętli drukowania tych samych komunikatów. Poprawka wyłącza DMA dla konsoli UART, aby zapewnić niezawodną ścieżkę wyjścia.
- CVE-2026-80885Nieznane
W jądrze Linux naprawiono problem w AFS dotyczący nieanulowanego handlera komunikatów OOB rxrpc. Poprawka anuluje przetwarzanie komunikatów OOB (zwykle w odpowiedzi na wyzwania bezpieczeństwa) oraz przenosi to przetwarzanie do kolejki afs_wq, aby było ono oczekiwane. Handler OOB zwraca teraz, jeśli przestrzeń nazw sieci nie jest już aktywna.
- CVE-2026-80882Nieznane
W jądrze Linux naprawiono problem w sterowniku kryptograficznym Tegra, polegający na zwracaniu błędu ENOMEM, gdy alokacja bufora wejściowego nie powiedzie się w funkcji tegra_ccm_do_one_req. Poprawka zapewnia ustawienie wartości błędu ENOMEM w przypadku niepowodzenia alokacji.
- CVE-2026-80881Nieznane
W jądrze Linux naprawiono problem w systemie plików OCFS2 dotyczący zarządzania buforami głowic w funkcji ocfs2_read_blocks(). Poprawka wyjaśnia, że wywołujący nie powinien zakładać, iż bufor głowicy zwrócony przez sb_getblk() jest wyłącznie własnością, a put_bh() zawsze zmniejsza licznik b_count z 1 do 0. Aby uniknąć sytuacji, w której bufor pozostaje wstrzymany i może być zwrócony z ustawionym bitem BH_Uptodate mimo wcześniejszego błędu walidacji, bit BH_Uptodate jest teraz czyszczony natychmiast po wykryciu niespójności danych przez funkcję validate().
- CVE-2026-80880Nieznane
W jądrze Linux w sterowniku IB/mlx5 występuje podatność związana z niejawnym ODP i operacją rereg_mr. Ze względu na dziecięce klucze mkey w konfiguracji niejawnego ODP nie można zmienić niczego w miejscu dla klucza nadrzędnego, dlatego cała struktura musi zostać przebudowana. Dodatkowo usunięto przypadek wyścigu związanego z dostępem do mr->pd przez dziecięce klucze.
- CVE-2026-80879Nieznane
W jądrze Linux wykryto cykliczną zależność blokad w systemie plików OCFS2 podczas operacji zapisu z bezpośrednim dostępem do pamięci (DIO). Problem dotyczy funkcji ocfs2_dio_end_io_write, która może prowadzić do zakleszczenia (deadlock) w wyniku nieprawidłowej kolejności blokowania zasobów systemowych (INODE_ALLOC, EXTENT_ALLOC, ORPHAN_DIR). Poprawka polega na zwolnieniu kontekstów alokacji przed uzyskaniem blokady ORPHAN_DIR.
- CVE-2026-80877Nieznane
W jądrze Linux w systemie plików AFS występuje wyciek pamięci związany z listą vllist w funkcji afs_update_cell(). Gdy nowa lista jest pusta (nr_servers == 0), stara lista nie jest zastępowana, co prowadzi do wycieku nowej listy.
- CVE-2026-80875Nieznane
W jądrze Linux w module IPVS występuje podatność w obsłudze stanu TCP. Kod parsuje ponownie pakiet, aby znaleźć nagłówek TCP, używając sizeof(struct ipv6hdr) dla IPv6, podczas gdy rzeczywiste przesunięcie nagłówka transportowego jest już znane z ip_vs_fill_iph_skb(). Dla pakietów IPv6 z nagłówkami rozszerzeń prowadzi to do odczytu niewłaściwych bajtów.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ring-buffer: Fix event length with forced 8-byte alignment When RB_FORCE_8BYTE_ALIGNMENT is true, rb_calculate_event_length() reserves the space of event->array[0] for placing the data length and rb_update_event() stores the data length in event->array[0] accordingly. As a result the whole event length will add extra 4 bytes for sizeof(event.array[0]) unconditionally. But ring_buffer_event_length() only subtracts the sizeof(event->array[0]) for events larger than RB_MAX_SMALL_DATA + sizeof(event->array[0]). As a result, small events on architectures with RB_FORCE_8BYTE_ALIGNMENT=true report a data length that is 4 bytes larger than expected. To fix it, add the RB_FORCE_8BYTE_ALIGNMENT as a condition to subtract the size of that length field whenever RB_FORCE_8BYTE_ALIGNMENT is true. This issue is observed in a riscv64 kernel with CONFIG_HAVE_64BIT_ALIGNED_ACCESS set to y, when we run ftrace selftest trace_marker_raw.tc, we get the weird log: for cases where the id is 1..100, the number of data field is 8*N, but once id exceeds 100, the number of data field becomes 8*N+4: # 1 buf: 58 00 00 00 80 5e d1 63 (number of data field is 8*1) ... # a buf: 58 ... (number of data field is 8*2) ... # 64 buf: 58 ... (number of data field is 8*13) # 65 buf: 58 ... (number of data field is 8*13+4) After applying this change, the number of data field keeps being 8*N+4 consistently.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

