CVE-2022-49837 in Linux
Riassunto
di VulDB • 23/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
bpf: Correzione delle perdite di memoria in __check_func_call
kmemleak segnala questo problema:
oggetto non referenziato 0xffff88817139d000 (dimensione 2048): comm "test_progs", pid 33246, jiffies 4307381979 (età 45851.820s) dump esadecimale (primi 32 byte): 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
Il caso root qui è: nella funzione prepare_func_exit(), il callee non viene rilasciato nello scenario anomalo dopo "state->curframe--;". Per risolvere, spostare "state->curframe--;" alla fine della funzione, proprio quando si libera il callee e si reimposta il puntatore frame[] a NULL, come suggerito da Andrii.
Inoltre, la funzione __check_func_call() ha un problema simile. Nello scenario anomalo prima di "state->curframe++;", anche il callee dovrebbe essere rilasciato tramite free_func_state().
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.