🔍 CVE-2025-38626

5.5
CVSS Score
MEDIUM
2025-08-22
2026-06-01 17:16
✅ 완료

🇰🇷 한글 설명

Linux 커널의 F2FS 파일 시스템에서 LFS 모드를 사용할 때, 블록 할당 과정 중 공간 부족 상황을 적절히 처리하지 못해 시스템 패닉(Kernel BUG)이 발생하는 취약점입니다. 여러 스레드가 병렬로 데이터를 쓸 때 가비지 컬렉션(GC)이 제때 트리거되지 않아 발생합니다.

💡 쉬운 설명

파일 저장 공간이 거의 없을 때, 시스템이 데이터를 저장하려고 시도하다가 갑자기 멈추거나 꺼질 수 있는 문제입니다. 특히 특정 설정(LFS 모드)을 사용 중일 때 발생할 확률이 높습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to trigger foreground gc during f2fs_map_blocks() in lfs mode w/ "mode=lfs" mount option, generic/299 will cause system panic as below: ------------[ cut here ]------------ kernel BUG at fs/f2fs/segment.c:2835! Call Trace: <TASK> f2fs_allocate_data_block+0x6f4/0xc50 f2fs_map_blocks+0x970/0x1550 f2fs_iomap_begin+0xb2/0x1e0 iomap_iter+0x1d6/0x430 __iomap_dio_rw+0x208/0x9a0 f2fs_file_write_iter+0x6b3/0xfa0 aio_write+0x15d/0x2e0 io_submit_one+0x55e/0xab0 __x64_sys_io_submit+0xa5/0x230 do_syscall_64+0x84/0x2f0 entry_SYSCALL_64_after_hwframe+0x76/0x7e RIP: 0010:new_curseg+0x70f/0x720 The root cause of we run out-of-space is: in f2fs_map_blocks(), f2fs may trigger foreground gc only if it allocates any physical block, it will be a little bit later when there is multiple threads writing data w/ aio/dio/bufio method in parallel, since we always use OPU in lfs mode, so f2fs_map_blocks() does block allocations aggressively. In order to fix this issue, let's give a chance to trigger foreground gc in prior to block allocation in f2fs_map_blocks().

📍 영향받는 시스템

LFS(Log-structured File System) 모드로 마운트된 F2FS 파일 시스템을 사용하는 Linux 커널

⚔️ 공격 벡터

로컬 사용자가 병렬 I/O 작업(aio/dio 등)을 통해 파일 시스템의 저장 공간을 소진시켜 시스템 패닉 유도

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 f2fs_map_blocks() 내 GC 트리거 로직 수정 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 수정된 최신 패치 버전인지 확인

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