CVE-2022-49837 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 15.

리눅스 커널에서 다음 취약점이 해결되었습니다:

bpf: __check_func_call의 메모리 누수 수정

kmemleak에서 다음 문제를 보고합니다:

미사용 객체 0xffff88817139d000 (크기 2048): comm "test_progs", pid 33246, jiffies 4307381979 (노령 45851.820초) 16진수 덤프 (최대 32바이트): 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 ................ 백트레이스: [] 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

여기서의 근본 원인은 다음과 같습니다: prepare_func_exit() 함수 내에서 "state->curframe--;" 이후 비정상적인 시나리오에서 호출된 함수(callee)가 해제되지 않습니다. 수정을 위해 Andrii가 제안한 대로 "state->curframe--;"를 함수 맨 아래로 이동하여, 호출된 함수를 해제하고 frame[] 포인터를 NULL로 재설정하는 시점에 배치합니다.

추가로, __check_func_call() 함수에도 유사한 문제가 있습니다. "state->curframe++;" 이전의 비정상적인 시나리오에서 호출된 함수(callee)도 free_func_state()에 의해 해제되어야 합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2025. 05. 01.

모더레이션

수락

항목

VDB-306968

EPSS

0.00164

출처

Do you want to use VulDB in your project?

Use the official API to access entries easily!