🔍 CVE-2022-49560

7.8
CVSS Score
HIGH
2025-02-26
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 exfat 파일 시스템에서 클러스터 번호의 유효성을 검사하지 않아 발생하는 slab-out-of-bounds read 취약점입니다. truncate 작업을 수행할 때 잘못된 클러스터 번호가 참조되어 메모리 경계를 벗어난 읽기 동작이 발생할 수 있습니다.

💡 쉬운 설명

파일 시스템이 데이터를 저장하는 위치 번호를 확인할 때, 잘못된 번호가 들어와도 그대로 읽으려다 발생하는 오류입니다. 이로 인해 시스템의 메모리 정보가 유출되거나 프로그램이 비정상적으로 종료될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: exfat: check if cluster num is valid Syzbot reported slab-out-of-bounds read in exfat_clear_bitmap. This was triggered by reproducer calling truncute with size 0, which causes the following trace: BUG: KASAN: slab-out-of-bounds in exfat_clear_bitmap+0x147/0x490 fs/exfat/balloc.c:174 Read of size 8 at addr ffff888115aa9508 by task syz-executor251/365 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack_lvl+0x1e2/0x24b lib/dump_stack.c:118 print_address_description+0x81/0x3c0 mm/kasan/report.c:233 __kasan_report mm/kasan/report.c:419 [inline] kasan_report+0x1a4/0x1f0 mm/kasan/report.c:436 __asan_report_load8_noabort+0x14/0x20 mm/kasan/report_generic.c:309 exfat_clear_bitmap+0x147/0x490 fs/exfat/balloc.c:174 exfat_free_cluster+0x25a/0x4a0 fs/exfat/fatent.c:181 __exfat_truncate+0x99e/0xe00 fs/exfat/file.c:217 exfat_truncate+0x11b/0x4f0 fs/exfat/file.c:243 exfat_setattr+0xa03/0xd40 fs/exfat/file.c:339 notify_change+0xb76/0xe10 fs/attr.c:336 do_truncate+0x1ea/0x2d0 fs/open.c:65 Move the is_valid_cluster() helper from fatent.c to a common header to make it reusable in other *.c files. And add is_valid_cluster() to validate if cluster number is within valid range in exfat_clear_bitmap() and exfat_set_bitmap().

📍 영향받는 시스템

exfat 파일 시스템을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

조작된 exfat 파일 시스템 이미지를 마운트하거나 truncate 시스템 호출을 유도하여 발생

🛡️ 대응 방법

is_valid_cluster() 검증 로직이 포함된 최신 Linux 커널로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 버전인지 배포판 보안 공지를 통해 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel