CVE-2022-49837 in Linux
Zusammenfassung
von VulDB • 23.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
bpf: Behebung von Speicherlecks in __check_func_call
kmemleak meldet dieses Problem:
unreferenziertes Objekt 0xffff88817139d000 (Größe 2048): comm "test_progs", pid 33246, jiffies 4307381979 (Alter 45851.820s) Hex-Dump (erste 32 Bytes): 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Backtrace: [] kmalloc_trace+0x27/0xa0
[] __check_func_call+0x316/0x1230
[] check_helper_call+0x172e/0x4700
[] do_check+0x21d8/0x45e0
[] do_check_common+0x767/0xaf0
[] bpf_check+0x43e3/0x5bc0
[] bpf_prog_load+0xf26/0x1940
[] __sys_bpf+0xd2c/0x3650
[] __x64_sys_bpf+0x75/0xc0
[] do_syscall_64+0x3b/0x90
[] entry_SYSCALL_64_after_hwframe+0x63/0xcd
Die Ursache liegt hier darin, dass in der Funktion prepare_func_exit() die callee-Instanz im Fehlerfall nach "state->curframe--;" nicht freigegeben wird. Zur Behebung wurde "state->curframe--;" an das Ende der Funktion verschoben, genau dann, wenn die callee-Instanz freigegeben und der frame[]-Zeiger auf NULL zurückgesetzt wird, wie von Andrii vorgeschlagen.
Darüber hinaus weist die Funktion __check_func_call() ein ähnliches Problem auf. Im Fehlerfall vor "state->curframe++;" sollte auch hier die callee-Instanz durch free_func_state() freigegeben werden.
Once again VulDB remains the best source for vulnerability data.