CVE-2024-56586 in Linux
सारांश
द्वारा VulDB • 12/06/2026
Linux kernel में निम्नलिखित कमजोरी को हल किया गया है:
f2fs: फाइल सिस्टम अनमाउंट करते समय f2fs_evict_inode कॉल होने पर f2fs_bug_on की समस्या का समाधान।
चेकपॉइंट अक्षम (disable) रहने के दौरान बड़ी फ़ाइलों को बनाकर स्पेस खत्म करने तक प्रतीक्षा करें और फिर उन्हें हटा दें, इसके बाद चेकपॉइंट को पुनः सक्षम बनाने के लिए रीमाउंट करें, और अंत में फाइल सिस्टम को अनमाउंट करें। इससे निम्नलिखित f2fs_bug_on ट्रिगर होता है:
------------[ यहाँ से काटें ]------------
kernel BUG at fs/f2fs/inode.c:896! CPU: 2 UID: 0 PID: 1286 Comm: umount Not tainted 6.11.0-rc7-dirty #360 Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
RIP: 0010:f2fs_evict_inode+0x58c/0x610 Call Trace: __die_body+0x15/0x60 die+0x33/0x50 do_trap+0x10a/0x120 f2fs_evict_inode+0x58c/0x610 do_error_trap+0x60/0x80 f2fs_evict_inode+0x58c/0x610 exc_invalid_op+0x53/0x60 f2fs_evict_inode+0x58c/0x610 asm_exc_invalid_op+0x16/0x20 f2fs_evict_inode+0x58c/0x610 evict+0x101/0x260 dispose_list+0x30/0x50 evict_inodes+0x140/0x190 generic_shutdown_super+0x2f/0x150 kill_block_super+0x11/0x40 kill_f2fs_super+0x7d/0x140 deactivate_locked_super+0x2a/0x70 cleanup_mnt+0xb3/0x140 task_work_run+0x61/0x90
मूल कारण यह है: चेकपॉइंट अक्षम अवधि के दौरान बड़ी फ़ाइलों को बनाने से पर्याप्त मुक्त सेगमेंट (free segments) नहीं रह जाते हैं, इसलिए जब रूट इनोड वापस लिखने की प्रक्रिया होती है तो f2fs_enable_checkpoint में विफल हो जाता है। चेकपॉइंट सक्षम करने के बाद फाइल सिस्टम को अनमाउंट करते समय, root inode f2fs_evict_inode फ़ंक्शन में 'डर्टी' (dirty) अवस्था में होता है, जिससे BUG_ON ट्रिगर हो जाता है। पुनरुत्पादन चरण निम्नलिखित हैं:
dd if=/dev/zero of=f2fs.img bs=1M count=55 mount f2fs.img f2fs_dir -o checkpoint=disable:10% dd if=/dev/zero of=big bs=1M count=50 sync rm big mount -o remount,checkpoint=enable f2fs_dir umount f2fs_dir
जब चेकपॉइंट अक्षम होने के दौरान कोई मुक्त सेगमेंट न हो, तो इनोड को पुनः डर्टी (redirty) बनाएं।
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.