CVE-2023-53829

Source
https://cve.org/CVERecord?id=CVE-2023-53829
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53829.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-53829
Downstream
Published
2025-12-09T01:29:43.645Z
Modified
2026-04-02T09:45:21.893768Z
Summary
f2fs: flush inode if atomic file is aborted
Details

In the Linux kernel, the following vulnerability has been resolved:

f2fs: flush inode if atomic file is aborted

Let's flush the inode being aborted atomic operation to avoid stale dirty inode during eviction in this call stack:

f2fsmarkinodedirtysync+0x22/0x40 [f2fs] f2fsabortatomicwrite+0xc4/0xf0 [f2fs] f2fsevictinode+0x3f/0x690 [f2fs] ? sugovstart+0x140/0x140 evict+0xc3/0x1c0 evictinodes+0x17b/0x210 genericshutdownsuper+0x32/0x120 killblocksuper+0x21/0x50 deactivatelockedsuper+0x31/0x90 cleanupmnt+0x100/0x160 taskworkrun+0x59/0x90 doexit+0x33b/0xa50 dogroup_exit+0x2d/0x80 _x64sysexitgroup+0x14/0x20 dosyscall64+0x3b/0x90 entrySYSCALL64afterhwframe+0x63/0xcd

This triggers f2fsbugon() in f2fsevictinode: f2fsbugon(sbi, isinodeflagset(inode, FIDIRTY_INODE));

This fixes the syzbot report:

loop0: detected capacity change from 0 to 131072 F2FS-fs (loop0): invalid crc value F2FS-fs (loop0): Found natbits in checkpoint F2FS-fs (loop0): Mounted with checkpoint version = 48b305e4 ------------[ cut here ]------------ kernel BUG at fs/f2fs/inode.c:869! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 5014 Comm: syz-executor220 Not tainted 6.4.0-syzkaller-11479-g6cd06ab12d1a #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023 RIP: 0010:f2fsevictinode+0x172d/0x1e00 fs/f2fs/inode.c:869 Code: ff df 48 c1 ea 03 80 3c 02 00 0f 85 6a 06 00 00 8b 75 40 ba 01 00 00 00 4c 89 e7 e8 6d ce 06 00 e9 aa fc ff ff e8 63 22 e2 fd <0f> 0b e8 5c 22 e2 fd 48 c7 c0 a8 3a 18 8d 48 ba 00 00 00 00 00 fc RSP: 0018:ffffc90003a6fa00 EFLAGS: 00010293 RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000 RDX: ffff8880273b8000 RSI: ffffffff83a2bd0d RDI: 0000000000000007 RBP: ffff888077db91b0 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: ffff888029a3c000 R13: ffff888077db9660 R14: ffff888029a3c0b8 R15: ffff888077db9c50 FS: 0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f1909bb9000 CR3: 00000000276a9000 CR4: 0000000000350ef0 Call Trace: <TASK> evict+0x2ed/0x6b0 fs/inode.c:665 disposelist+0x117/0x1e0 fs/inode.c:698 evictinodes+0x345/0x440 fs/inode.c:748 genericshutdownsuper+0xaf/0x480 fs/super.c:478 killblocksuper+0x64/0xb0 fs/super.c:1417 killf2fssuper+0x2af/0x3c0 fs/f2fs/super.c:4704 deactivatelockedsuper+0x98/0x160 fs/super.c:330 deactivatesuper+0xb1/0xd0 fs/super.c:361 cleanupmnt+0x2ae/0x3d0 fs/namespace.c:1254 taskworkrun+0x16f/0x270 kernel/taskwork.c:179 exittaskwork include/linux/taskwork.h:38 [inline] doexit+0xa9a/0x29a0 kernel/exit.c:874 dogroupexit+0xd4/0x2a0 kernel/exit.c:1024 __dosysexit_group kernel/exit.c:1035 [inline] __sesysexit_group kernel/exit.c:1033 [inline] __x64sysexitgroup+0x3e/0x50 kernel/exit.c:1033 dosyscallx64 arch/x86/entry/common.c:50 [inline] dosyscall64+0x39/0xb0 arch/x86/entry/common.c:80 entrySYSCALL64afterhwframe+0x63/0xcd RIP: 0033:0x7f309be71a09 Code: Unable to access opcode bytes at 0x7f309be719df. RSP: 002b:00007fff171df518 EFLAGS: 00000246 ORIGRAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 00007f309bef7330 RCX: 00007f309be71a09 RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000001 RBP: 0000000000000001 R08: ffffffffffffffc0 R09: 00007f309bef1e40 R10: 0000000000010600 R11: 0000000000000246 R12: 00007f309bef7330 R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001 </TASK> Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:f2fsevictinode+0x172d/0x1e00 fs/f2fs/inode.c:869 Code: ff df 48 c1 ea 03 80 3c 02 00 0f 85 6a 06 00 00 8b 75 40 ba 01 00 00 00 4c 89 e7 e8 6d ce 06 00 e9 aa fc ff ff e8 63 22 e2 fd <0f> 0b e8 5c 22 e2 fd 48 c7 c0 a8 3a 18 8d 48 ba 00 00 00 00 00 fc RSP: 0018:ffffc90003a6fa00 EFLAGS: 00010293 RAX: 0000000000000000 RBX: 0000000000 ---truncated---

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/53xxx/CVE-2023-53829.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
98e4da8ca301e062d79ae168c67e56f3c3de3ce4
Fixed
1c64dbe8fa3552a340bca6d7fa09468c16ed2a85
Fixed
bfa7853bb47fee0c17030b377c98cf4ede47ba33
Fixed
a3ab55746612247ce3dcaac6de66f5ffc055b9df

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53829.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.8.0
Fixed
6.1.54
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.5.4

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-53829.json"