🔍 CVE-2022-49364

5.5
CVSS Score
MEDIUM
2025-02-26
2026-08-15 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 F2FS 파일 시스템에서 inode 노드와 dnode 노드가 동일한 NID를 공유하여 발생하는 취약점입니다. f2fs_evict_inode() 과정에서 dnode 노드 절단 시 NAT 엔트리가 무효화되어, inode 노드 절단 시 dirty 상태가 제대로 해제되지 않고 커널 버그가 발생할 수 있습니다.

💡 쉬운 설명

파일 시스템이 데이터를 정리하는 과정에서 정보가 꼬여 시스템이 멈추거나 오류가 발생하는 문제입니다. 특정 파일 정보를 지울 때 데이터 기록 상태를 제대로 업데이트하지 못해 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to clear dirty inode in f2fs_evict_inode() As Yanming reported in bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=215904 The kernel message is shown below: kernel BUG at fs/f2fs/inode.c:825! Call Trace: evict+0x282/0x4e0 __dentry_kill+0x2b2/0x4d0 shrink_dentry_list+0x17c/0x4f0 shrink_dcache_parent+0x143/0x1e0 do_one_tree+0x9/0x30 shrink_dcache_for_umount+0x51/0x120 generic_shutdown_super+0x5c/0x3a0 kill_block_super+0x90/0xd0 kill_f2fs_super+0x225/0x310 deactivate_locked_super+0x78/0xc0 cleanup_mnt+0x2b7/0x480 task_work_run+0xc8/0x150 exit_to_user_mode_prepare+0x14a/0x150 syscall_exit_to_user_mode+0x1d/0x40 do_syscall_64+0x48/0x90 The root cause is: inode node and dnode node share the same nid, so during f2fs_evict_inode(), dnode node truncation will invalidate its NAT entry, so when truncating inode node, it fails due to invalid NAT entry, result in inode is still marked as dirty, fix this issue by clearing dirty for inode and setting SBI_NEED_FSCK flag in filesystem. output from dump.f2fs: [print_node_info: 354] Node ID [0xf:15] is inode i_nid[0] [0x f : 15]

📍 영향받는 시스템

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

⚔️ 공격 벡터

로컬 사용자가 특정 파일 시스템 조작을 통해 커널 패닉(Kernel BUG) 유도 가능

🛡️ 대응 방법

F2FS 관련 수정 사항이 포함된 최신 Linux 커널로 업데이트

🔧 검증 코드

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

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