CVE-2026-89494
NieznaneStreszczenie
W jądrze Linux w module ocfs2 funkcja dlm_mig_lockres_handler ufała polom num_locks i lockname_len z wiadomości DLM_MIG_LOCKRES bez ich walidacji. Prowadziło to do odczytu poza granicami bufora (panic BUG_ON) oraz zapisu poza granicami sterty przy kopiowaniu nazwy blokady do 32-bajtowego obiektu. Podatność może wykorzystać dowolny węzeł w domenie.
Ocena ryzyka
Atakujący węzeł w klastrze może wywołać panikę jądra (odmowa usługi) lub uszkodzić pamięć sterty, co potencjalnie prowadzi do wykonania kodu w kontekście jądra. Wpływa to na stabilność i bezpieczeństwo całego klastra OCFS2.
Rekomendacja
Zaktualizuj jądro Linux do wersji zawierającej poprawkę walidującą pola lockname_len, num_locks oraz rozmiar ładunku w dlm_mig_lockres_handler. Jeśli aktualizacja nie jest możliwa, rozważ ograniczenie zaufania do węzłów w domenie DLM.
Inne podatności w Linux kernel (ocfs2)
Zobacz wszystkie- CVE-2026-89496Nieznane
W jądrze Linux w systemie plików ocfs2 występuje wyciek pamięci podczas operacji copy-on-write wywoływanych przez copy_file_range() w obrębie tego samego systemu plików. Problem został wykryty przez fuzzing i polega na tym, że zwalnianie bloków (deallocs) nie jest zawsze uruchamiane po zakończeniu copy-on-write, co prowadzi do nieodwołanych alokacji pamięci.
- CVE-2026-89493Nieznane
W jądrze Linux w module ocfs2 brakowało walidacji pól rl_used i rl_count w bloku refcount. Złośliwy lub uszkodzony obraz ocfs2 z rl_used ustawionym na 0xffff powoduje odczyt poza zakresem bloku metadanych, a następnie memmove poza bufor podczas operacji reflink (FICLONE). Podatność wymaga lokalnego dostępu (CAP_SYS_ADMIN przy montowaniu obrazu lub zapis do urządzenia blokowego).
- CVE-2026-89492Nieznane
W jądrze Linux w module ocfs2 wykryto lukę polegającą na braku walidacji liczby wpisów w indeksie katalogu podczas odczytu metadanych. Funkcje ocfs2_validate_dx_leaf() i ocfs2_validate_dx_root() nie sprawdzają, czy pola de_num_used i de_count mieszczą się w pojemności bloku, co pozwala spreparowanemu obrazowi dysku ustawić je na 0xffff i doprowadzić do odczytu poza granicami bloku metadanych 4KB. Luka jest osiągalna przy każdej operacji wyszukiwania ścieżki, stat() lub open() na zaindeksowanym katalogu po zamontowaniu obrazu.
- CVE-2026-89490Nieznane
W jądrze Linux w module ocfs2 funkcja ocfs2_dir_foreach_blk_el() na 32-bitowych jądrach błędnie obliczała maskę pozycji katalogu, co powodowało wyzerowanie górnych 32 bitów pozycji. Przy przekroczeniu granicy 4 GiB podczas readdir() pozycja była resetowana, co prowadziło do nieskończonego ponownego wyliczania tych samych wpisów katalogu.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ocfs2: validate lengths in dlm_mig_lockres_handler A node receiving a DLM_MIG_LOCKRES message trusts several fields of the peer-supplied dlm_migratable_lockres without validation. num_locks and lockname_len are bounded only on the sending side, and the message is never checked to actually carry num_locks migratable_lock entries. As a result dlm_process_recovery_data() walks mres->ml[0..num_locks) past the kmalloc(data_len) copy of the message (an out-of-bounds read that ends in a BUG_ON panic), and dlm_init_lockres() copies lockname_len bytes into the fixed 32-byte o2dlm_lockname slab object (a heap out-of-bounds write). Both are reachable by any node in the domain. Validate these fields right after dlm_grab(), before anything uses them -- including the not-joined error path, which already prints mres->lockname with the unbounded lockname_len as a %.*s precision. Reject the message unless lockname_len <= DLM_LOCKID_NAME_MAX, num_locks <= DLM_MAX_MIGRATABLE_LOCKS (the bound the sender already asserts), and the payload is large enough to hold the claimed locks. Conforming recovery and migration messages are unaffected.

