{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63816","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T07:54:57.014Z","datePublished":"2026-07-19T12:02:15.907Z","dateUpdated":"2026-08-17T04:51:23.480Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T04:51:23.480Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: atomic: fix UAF issue on f2fs_inode_info.atomic_inode\n\n- ioctl(F2FS_IOC_GARBAGE_COLLECT_RANGE)\t\t- shrink\n - f2fs_gc\n  - gc_data_segment\n   - ra_data_block(cow_inode)\n    - mapping = F2FS_I(inode)->atomic_inode->i_mapping\n    : f2fs_is_cow_file(cow_inode) is true\n\t\t\t\t\t\t - f2fs_evict_inode(atomic_inode)\n\t\t\t\t\t\t  - clear_inode_flag(fi->cow_inode, FI_COW_FILE)\n\t\t\t\t\t\t  - F2FS_I(fi->cow_inode)->atomic_inode = NULL\n\t\t\t\t\t\t  ...\n\t\t\t\t\t\t  - truncate_inode_pages_final(atomic_inode)\n    - f2fs_grab_cache_folio(mapping)\n    : create folio in atomic_inode->mapping\n\t\t\t\t\t\t  - clear_inode(atomic_inode)\n\t\t\t\t\t\t   - BUG_ON(atomic_inode->i_data.nrpages)\n\nWe need to add a reference on fi->atomic_inode before using its mapping\nfield during garbage collection, otherwise, it will cause UAF issue."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - Exploitation requires local access through filesystem syscalls and ioctls (atomic-write ioctls, file I/O, close/evict) on an F2FS mount; there is no network-facing entry point to the vulnerable GC path.\nAC:L - The attacker controls both sides of the race by running concurrent threads that perform atomic writes/commits/closes while filling the filesystem or driving writes to trigger background or foreground GC via f2fs_balance_fs and the f2fs_gc kthread.\nPR:L - No real root is required; an unprivileged local user with write access to their own files on F2FS can use atomic-write ioctls and normal I/O to reach the bug, while GC runs automatically without CAP_SYS_ADMIN.\nUI:N - The attacker can trigger the full exploit chain on files they own without any separate victim user performing actions; atomic-write setup, GC pressure, and inode eviction are all orchestrated by the attacker process.\nS:U - Impact is kernel memory corruption and potential local privilege escalation within the same kernel security boundary, not a cross-VM or cross-container escape to a different security authority.\nC:H - This is a use-after-free on a live inode address_space; the freed atomic_inode can be reused or read through stale mapping pointers, enabling arbitrary kernel memory disclosure primitives.\nI:H - UAF on inode mapping during folio allocation allows heap corruption and control of freed object contents, which is exploitable for arbitrary kernel write and local privilege escalation.\nA:H - The race reliably leads to kernel BUG_ON in clear_inode when nrpages is nonzero, and UAF corruption can cause kernel oops or panic even before full exploitation."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/gc.c","fs/f2fs/inode.c"],"versions":[{"version":"3db1de0e582c358dd013f3703cd55b5fe4076436","lessThan":"7d3ae21783e5914c1761ac7d63f882d3d70800e9","status":"affected","versionType":"git"},{"version":"3db1de0e582c358dd013f3703cd55b5fe4076436","lessThan":"56038756aae68312df00d4aa1d97e51ef3aca725","status":"affected","versionType":"git"},{"version":"3db1de0e582c358dd013f3703cd55b5fe4076436","lessThan":"a499f77c06050a28c897bdbd86cd2f0721ae0743","status":"affected","versionType":"git"},{"version":"3db1de0e582c358dd013f3703cd55b5fe4076436","lessThan":"a805fec35c201c59643ddcde713bce4051c8ee27","status":"affected","versionType":"git"},{"version":"3db1de0e582c358dd013f3703cd55b5fe4076436","lessThan":"e0288584baa5dc41df4a829a023c4c1b33fe53d7","status":"affected","versionType":"git"},{"version":"6db52f1944417c2601182a591a704e2f119c5215","status":"affected","versionType":"git"},{"version":"5.18.18","lessThan":"5.19","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/gc.c","fs/f2fs/inode.c"],"versions":[{"version":"5.19","status":"affected"},{"version":"0","lessThan":"5.19","status":"unaffected","versionType":"semver"},{"version":"6.6.145","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.96","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.39","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.3","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.12.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"7.1.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18.18"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/7d3ae21783e5914c1761ac7d63f882d3d70800e9"},{"url":"https://git.kernel.org/stable/c/56038756aae68312df00d4aa1d97e51ef3aca725"},{"url":"https://git.kernel.org/stable/c/a499f77c06050a28c897bdbd86cd2f0721ae0743"},{"url":"https://git.kernel.org/stable/c/a805fec35c201c59643ddcde713bce4051c8ee27"},{"url":"https://git.kernel.org/stable/c/e0288584baa5dc41df4a829a023c4c1b33fe53d7"}],"title":"f2fs: atomic: fix UAF issue on f2fs_inode_info.atomic_inode","x_generator":{"engine":"bippy-1.2.0"}}}}