🇰🇷 한글 설명
Linux 커널의 UBI 빠른 부팅(fastmap attach) 과정에서 alloc_ai()가 동일한 슬랩 캐시 이름 'ubi_aeb_slab_cache'로 두 번 호출될 수 있습니다. DEBUG_VM=y 환경에서 중복 캐시 이름 경고가 발생하며, 이를 호출자별로 다른 슬랩 이름을 사용하도록 수정했습니다.
💡 쉬운 설명
플래시 메모리를 관리하는 리눅스 커널 모듈에서 같은 이름의 메모리 영역을 두 번 만들려다 경고가 발생하는 결함입니다. 디버그 빌드에서 경고가 뜨는 문제이며, 시스템 권한을 얻거나 데이터를 빼내는 공격 경로는 설명되지 않았습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ubi: fastmap: Fix duplicate slab cache names while attaching
Since commit 4c39529663b9 ("slab: Warn on duplicate cache names when
DEBUG_VM=y"), the duplicate slab cache names can be detected and a
kernel WARNING is thrown out.
In UBI fast attaching process, alloc_ai() could be invoked twice
with the same slab cache name 'ubi_aeb_slab_cache', which will trigger
following warning messages:
kmem_cache of name 'ubi_aeb_slab_cache' already exists
WARNING: CPU: 0 PID: 7519 at mm/slab_common.c:107
__kmem_cache_create_args+0x100/0x5f0
Modules linked in: ubi(+) nandsim [last unloaded: nandsim]
CPU: 0 UID: 0 PID: 7519 Comm: modprobe Tainted: G 6.12.0-rc2
RIP: 0010:__kmem_cache_create_args+0x100/0x5f0
Call Trace:
__kmem_cache_create_args+0x100/0x5f0
alloc_ai+0x295/0x3f0 [ubi]
ubi_attach+0x3c3/0xcc0 [ubi]
ubi_attach_mtd_dev+0x17cf/0x3fa0 [ubi]
ubi_init+0x3fb/0x800 [ubi]
do_init_module+0x265/0x7d0
__x64_sys_finit_module+0x7a/0xc0
The problem could be easily reproduced by loading UBI device by fastmap
with CONFIG_DEBUG_VM=y.
Fix it by using different slab names for alloc_ai() callers.
📍 영향받는 시스템
UBI fastmap 기능을 사용하고 DEBUG_VM이 활성화된 Linux 커널 (수정 전 버전, 6.12-rc 계열 포함)
⚔️ 공격 벡터
공격자가 로컬에서 UBI 장치를 fastmap으로 로드하는 상황에서 경고가 발생하는 것으로, 원격 공격 경로는 확인되지 않음
🛡️ 대응 방법
커널을 CVE-2024-53172 수정이 포함된 안정 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 벤더가 공개한 수정 패치 포함 버전 이상인지 배포판 보안 공지와 대조하고, 'lsmod | grep ubi'로 ubi 모듈 로드 여부를 함께 확인하십시오.