🔍 CVE-2024-26901

5.5
CVSS Score
MEDIUM
2024-04-17
2026-10-15 01:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 name_to_handle_at 시스템 콜에서 메모리 초기화 부재로 인한 정보 유출 취약점입니다. 공격자가 초기화되지 않은 메모리 영역을 읽어 커널의 민감한 정보(KASLR 주소 등)를 획득할 수 있습니다. kmalloc() 대신 kzalloc()을 사용하여 메모리를 0으로 초기화함으로써 해결됩니다.

💡 쉬운 설명

파일 정보를 조회할 때 시스템이 준비하지 않은 메모리 영역을 실수로 공개하는 보안 문제입니다. 메모리를 깔끔하게 초기화하여 사용하면 문제가 해결됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak syzbot identified a kernel information leak vulnerability in do_sys_name_to_handle() and issued the following report [1]. [1] "BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instrumented.h:114 [inline] BUG: KMSAN: kernel-infoleak in _copy_to_user+0xbc/0x100 lib/usercopy.c:40 instrument_copy_to_user include/linux/instrumented.h:114 [inline] _copy_to_user+0xbc/0x100 lib/usercopy.c:40 copy_to_user include/linux/uaccess.h:191 [inline] do_sys_name_to_handle fs/fhandle.c:73 [inline] __do_sys_name_to_handle_at fs/fhandle.c:112 [inline] __se_sys_name_to_handle_at+0x949/0xb10 fs/fhandle.c:94 __x64_sys_name_to_handle_at+0xe4/0x140 fs/fhandle.c:94 ... Uninit was created at: slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768 slab_alloc_node mm/slub.c:3478 [inline] __kmem_cache_alloc_node+0x5c9/0x970 mm/slub.c:3517 __do_kmalloc_node mm/slab_common.c:1006 [inline] __kmalloc+0x121/0x3c0 mm/slab_common.c:1020 kmalloc include/linux/slab.h:604 [inline] do_sys_name_to_handle fs/fhandle.c:39 [inline] __do_sys_name_to_handle_at fs/fhandle.c:112 [inline] __se_sys_name_to_handle_at+0x441/0xb10 fs/fhandle.c:94 __x64_sys_name_to_handle_at+0xe4/0x140 fs/fhandle.c:94 ... Bytes 18-19 of 20 are uninitialized Memory access of size 20 starts at ffff888128a46380 Data copied to user address 0000000020000240" Per Chuck Lever's suggestion, use kzalloc() instead of kmalloc() to solve the problem.

📍 영향받는 시스템

CVE-2024-26901 패치 이전의 모든 Linux 커널 버전 (2024년 상반기 이전)

⚔️ 공격 벡터

로컬 권한이 없는 사용자가 name_to_handle_at 시스템 콜을 호출하여 커널 메모리의 민감한 정보 추출 가능

🛡️ 대응 방법

Linux 커널을 CVE-2024-26901 패치가 적용된 최신 버전으로 업그레이드

🔧 검증 코드

커널 버전을 확인하고, 해당 커널의 보안 권고에서 이 CVE 패치 적용 여부를 확인합니다.

Shell / Script
uname -r && grep -q 'kzalloc' /proc/version 2>/dev/null || echo 'Check kernel version for patch status'

📊 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