Odebrany

CVE-2026-99204

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

ocfs2/dlm: Chroń listę odzyskiwania podczas odczytów debugfs

Rekordy uczestników odzyskiwania muszą pozostać aktywne podczas debug_state_print()
przechodzi do reco.node_data i formatuje ich pola. Formatyzator trzyma
dlm->spinlock, ale lista uczestników odzyskiwania jest chroniona przez
dlm_reco_state_lock. W szczególności funkcja dlm_destroy_recovery_area() odłącza się
listę pod dlm_reco_state_lock i po tym zwalnia odłączone rekordy
wypuszczając to. Dlatego jednoczesne otwarcie debugfs może odczytać zwolnioną pamięć.

Chroń przejście uczestnika i odczyty pól w debug_state_print()
z dlm_reco_state_lock, pasującym do istniejących autorów list. To także
serializuje przejście względem list_add_tail() podczas obszaru odzyskiwania
inicjalizacja. Udostępnij istniejącą blokadę dla kodu debugowania
poprzez dlmcommon.h; zamek pozostaje wewnętrzny w module OCFS2 DLM.

Zwolnij dlm->spinlock po sformatowaniu innego stanu domeny i wcześniej
nabywanie dlm_reco_state_lock, więc czytnik debugowania nie zagnieżdża tych dwóch
zamki. Pozostaw wstawianie, odłączanie i zwalnianie listy odzyskiwania bez zmian.

Raport KASAN jak poniżej:

BŁĄD: KASAN: użycie płyty po zwolnieniu w debug_state_open+0x1169/0x12d0
Odczytaj rozmiar 4 pod adresem ffff88810662ef80 za pomocą zadania dlm-state-stres/896

Procesor: 1 UID: 0 PID: 896 Comm: dlm-state-stres Nie skażony 7.3.0-rc4-next-20260921-pmb-ocfs2-function-v1+ #1 PREEMPT(leniwy)
Nazwa sprzętu: QEMU Ubuntu 24.04 PC v2 (i440FX + PIIX, poprawka arch_caps, 1996), BIOS 1.16.3-debian-1.16.3-2 01.04.2014
Zadzwoń do śledzenia:
<ZADANIE>
dump_stack_lvl+0x93/0xd0
print_report+0xce/0x630
? debug_state_open+0x1169/0x12d0
? srso_alias_return_thunk+0x5/0xfbef5
? __virt_addr_valid+0x20e/0x420
? debug_state_open+0x1169/0x12d0
kasan_report+0xe0/0x110
? debug_state_open+0x1169/0x12d0
debug_state_open+0x1169/0x12d0
? __pfx_debug_state_open+0x10/0x10
full_proxy_open_regular+0x193/0x310
do_dentry_open+0x595/0x12d0
? __pfx_full_proxy_open_regular+0x10/0x10
vfs_open_consume+0xd1/0x400
? srso_alias_return_thunk+0x5/0xfbef5
ścieżka_openat+0x18d0/0x2020
? __pfx_path_openat+0x10/0x10
do_file_open+0x21e/0x470
? __pfx_do_file_open+0x10/0x10
? _raw_spin_unlock+0x23/0x40
? srso_alias_return_thunk+0x5/0xfbef5
? alloc_fd+0x3a6/0x6b0
do_sys_openat2+0xf4/0x1b0
? __pfx_do_sys_openat2+0x10/0x10
? srso_alias_return_thunk+0x5/0xfbef5
? __fput+0x5b5/0xa60
__x64_sys_openat+0x136/0x1e0
? __pfx___x64_sys_openat+0x10/0x10
do_syscall_64+0x114/0x620
wpis_SYSCALL_64_after_hwframe+0x77/0x7f
[Pominięto zrzut rejestru.]
</ZADANIE>

Przydzielone przez zadanie 880:
kasan_save_stack+0x33/0x60
kasan_save_track+0x14/0x30
__kasan_kmalloc+0xaa/0xb0
__kmalloc_cache_noprof+0x28d/0x610
dlm_remaster_locks+0x147/0x1d90
dlm_do_recovery+0xde1/0x1580
dlm_recovery_thread+0x109/0x300
kwątek+0x351/0x460
ret_from_fork+0x659/0x940
ret_from_fork_asm+0x1a/0x30

Uwolniony przez zadanie 880:
kasan_save_stack+0x33/0x60
kasan_save_track+0x14/0x30
kasan_save_free_info+0x3b/0x60
__kasan_slab_free+0x5f/0x80
kfree+0x308/0x580
dlm_destroy_recovery_area+0x285/0x460
dlm_remaster_locks+0x17c4/0x1d90
dlm_do_recovery+0xde1/0x1580
dlm_recovery_thread+0x109/0x300
kwątek+0x351/0x460
ret_from_fork+0x659/0x940
ret_from_fork_asm+0x1a/0x30

Błędny adres należy do obiektu pod adresem ffff88810662ef80
który należy do pamięci podręcznej kmalloc-32 o rozmiarze 32
Błędny adres znajduje się w odległości 0 bajtów
zwolniony region 32-bajtowy [ffff88810662ef80, ffff88810662efa0)

[Pominięto zrzuty stanu strony i pamięci.]

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org