🔍 CVE-2022-49801

5.5
CVSS Score
MEDIUM
2025-05-01
2026-11-05 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 tracing_read_pipe() 함수에서 iter->fmt 메모리가 할당된 후 해제되지 않아 메모리 누수가 발생합니다. 이 문제는 tracing_release_pipe()에 해제 코드를 추가하여 수정되었습니다.

💡 쉬운 설명

컴퓨터의 추적(tracing) 기능이 사용하고 나서 메모리를 돌려주지 않아 시간이 지날수록 사용 가능한 메모리가 줄어듭니다. 패치가 적용되면 사용이 끝난 메모리가 정상적으로 반환됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tracing: Fix memory leak in tracing_read_pipe() kmemleak reports this issue: unreferenced object 0xffff888105a18900 (size 128): comm "test_progs", pid 18933, jiffies 4336275356 (age 22801.766s) hex dump (first 32 bytes): 25 73 00 90 81 88 ff ff 26 05 00 00 42 01 58 04 %s......&...B.X. 03 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<00000000560143a1>] __kmalloc_node_track_caller+0x4a/0x140 [<000000006af00822>] krealloc+0x8d/0xf0 [<00000000c309be6a>] trace_iter_expand_format+0x99/0x150 [<000000005a53bdb6>] trace_check_vprintf+0x1e0/0x11d0 [<0000000065629d9d>] trace_event_printf+0xb6/0xf0 [<000000009a690dc7>] trace_raw_output_bpf_trace_printk+0x89/0xc0 [<00000000d22db172>] print_trace_line+0x73c/0x1480 [<00000000cdba76ba>] tracing_read_pipe+0x45c/0x9f0 [<0000000015b58459>] vfs_read+0x17b/0x7c0 [<000000004aeee8ed>] ksys_read+0xed/0x1c0 [<0000000063d3d898>] do_syscall_64+0x3b/0x90 [<00000000a06dda7f>] entry_SYSCALL_64_after_hwframe+0x63/0xcd iter->fmt alloced in tracing_read_pipe() -> .. ->trace_iter_expand_format(), but not freed, to fix, add free in tracing_release_pipe()

📍 영향받는 시스템

패치 이전의 Linux 커널 버전 (tracing 기능을 사용하는 시스템)

⚔️ 공격 벡터

로컬 사용자가 트레이싱 파이프를 반복적으로 읽어 메모리를 누수시키는 방식으로 시스템 자원을 고갈시킬 수 있음

🛡️ 대응 방법

Linux 커널을 해당 취약점이 수정된 최신 안정 버전 또는 배포판 보안 업데이트로 업그레이드

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지 또는 커널 changelog와 대조하여 CVE-2022-49801 수정 패치가 포함되었는지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel