🇰🇷 한글 설명
Linux 커널의 트레이싱(tracing) 모듈에서 test_gen_synth_cmd() 및 test_empty_synth_event() 함수가 할당한 버퍼를 정상 경로에서 해제하지 않아 메모리 누수가 발생하는 문제입니다. 실패 경로에서만 buf를 해제하던 것을 수정하여 kfree(buf)를 추가함으로써 해결되었습니다.
💡 쉬운 설명
커널 내부 테스트 코드가 사용한 메모리를 정상 실행 시 반환하지 않아 시스템 메모리가 조금씩 낭비되는 문제입니다. 주로 테스트 모듈 로드 시 발생하며, 장기간 운용 시 메모리 부족의 원인이 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
tracing: Fix memory leak in test_gen_synth_cmd() and test_empty_synth_event()
test_gen_synth_cmd() only free buf in fail path, hence buf will leak
when there is no failure. Add kfree(buf) to prevent the memleak. The
same reason and solution in test_empty_synth_event().
unreferenced object 0xffff8881127de000 (size 2048):
comm "modprobe", pid 247, jiffies 4294972316 (age 78.756s)
hex dump (first 32 bytes):
20 67 65 6e 5f 73 79 6e 74 68 5f 74 65 73 74 20 gen_synth_test
20 70 69 64 5f 74 20 6e 65 78 74 5f 70 69 64 5f pid_t next_pid_
backtrace:
[<000000004254801a>] kmalloc_trace+0x26/0x100
[<0000000039eb1cf5>] 0xffffffffa00083cd
[<000000000e8c3bc8>] 0xffffffffa00086ba
[<00000000c293d1ea>] do_one_initcall+0xdb/0x480
[<00000000aa189e6d>] do_init_module+0x1cf/0x680
[<00000000d513222b>] load_module+0x6a50/0x70a0
[<000000001fd4d529>] __do_sys_finit_module+0x12f/0x1c0
[<00000000b36c4c0f>] do_syscall_64+0x3f/0x90
[<00000000bbf20cf3>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
unreferenced object 0xffff8881127df000 (size 2048):
comm "modprobe", pid 247, jiffies 4294972324 (age 78.728s)
hex dump (first 32 bytes):
20 65 6d 70 74 79 5f 73 79 6e 74 68 5f 74 65 73 empty_synth_tes
74 20 20 70 69 64 5f 74 20 6e 65 78 74 5f 70 69 t pid_t next_pi
backtrace:
[<000000004254801a>] kmalloc_trace+0x26/0x100
[<00000000d4db9a3d>] 0xffffffffa0008071
[<00000000c31354a5>] 0xffffffffa00086ce
[<00000000c293d1ea>] do_one_initcall+0xdb/0x480
[<00000000aa189e6d>] do_init_module+0x1cf/0x680
[<00000000d513222b>] load_module+0x6a50/0x70a0
[<000000001fd4d529>] __do_sys_finit_module+0x12f/0x1c0
[<00000000b36c4c0f>] do_syscall_64+0x3f/0x90
[<00000000bbf20cf3>] entry_SYSCALL_64_after_hwframe+0x63/0xcd
📍 영향받는 시스템
메모리 누수 수정이 적용되기 이전의 Linux 커널 버전 (트레이싱 synth 이벤트 테스트 모듈 포함 환경)
⚔️ 공격 벡터
외부 공격자가 직접 악용하기 어려운 메모리 누수 결함으로, 주로 서비스 안정성 저하 또는 메모리 고갈을 유발할 수 있습니다.
🛡️ 대응 방법
배포판에서 제공하는 최신 커널 보안 업데이트를 설치하고 시스템을 재부팅하십시오.
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 공지나 패치 목록과 대조하여, 해당 수정이 포함된 버전인지 확인합니다.