{"id":"CVE-2026-23234","state":"PUBLISHED","title":"f2fs: fix to avoid UAF in f2fs_write_end_io()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to avoid UAF in f2fs_write_end_io()\n\nAs syzbot reported an use-after-free issue in f2fs_write_end_io().\n\nIt is caused by below race condition:\n\nloop device\t\t\t\tumount\n- worker_thread\n - loop_process_work\n  - do_req_filebacked\n   - lo_rw_aio\n    - lo_rw_aio_complete\n     - blk_mq_end_request\n      - blk_update_request\n       - f2fs_write_end_io\n        - dec_page_count\n        - folio_end_writeback\n\t\t\t\t\t- kill_f2fs_super\n\t\t\t\t\t - kill_block_super\n\t\t\t\t\t  - f2fs_put_super\n\t\t\t\t\t : free(sbi)\n       : get_pages(, F2FS_WB_CP_DATA)\n         accessed sbi which is freed\n\nIn kill_f2fs_super(), we will drop all page caches of f2fs inodes before\ncall free(sbi), it guarantee that all folios should end its writeback, so\nit should be safe to access sbi before last folio_end_writeback().\n\nLet's relocate ckpt thread wakeup flow before folio_end_writeback() to\nresolve this issue.","publishedAt":"2026-03-04T14:36:38.843Z","updatedAt":"2026-05-11T22:02:55.136Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"0fb58aff0dafd6837cc91f4154f3ed6e020358fa","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"2f67ff1e15a8a4d0e4ffc6564ab20d03d7398fe9","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"505e1c0530db6152cab3feef8e3e4da3d3e358c9","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"acc2c97fc0005846e5cf11b5ba3189fef130c9b3","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"cf4a9e1bc8129eb63fda5f8bdcd8d87f0bd76f42","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"995030be4ce6338c6ff814583c14166446a64008","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"a42f99be8a16b32a0bb91bb6dda212a6ad61be5d","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"ce2739e482bce8d2c014d76c4531c877f382aa54","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/data.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.13","versionType":"semver"},{"version":"5.10.251","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.201","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.164","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.127","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.74","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.13","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.3","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/data.c"]}],"references":["https://git.kernel.org/stable/c/0fb58aff0dafd6837cc91f4154f3ed6e020358fa","https://git.kernel.org/stable/c/2f67ff1e15a8a4d0e4ffc6564ab20d03d7398fe9","https://git.kernel.org/stable/c/505e1c0530db6152cab3feef8e3e4da3d3e358c9","https://git.kernel.org/stable/c/acc2c97fc0005846e5cf11b5ba3189fef130c9b3","https://git.kernel.org/stable/c/cf4a9e1bc8129eb63fda5f8bdcd8d87f0bd76f42","https://git.kernel.org/stable/c/995030be4ce6338c6ff814583c14166446a64008","https://git.kernel.org/stable/c/a42f99be8a16b32a0bb91bb6dda212a6ad61be5d","https://git.kernel.org/stable/c/ce2739e482bce8d2c014d76c4531c877f382aa54"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/23xxx/CVE-2026-23234.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23234","state":"PUBLISHED","datePublished":"2026-03-04T14:36:38.843Z","dateUpdated":"2026-05-11T22:02:55.136Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-01-13T15:37:45.988Z"},"containers":{"cna":{"title":"f2fs: fix to avoid UAF in f2fs_write_end_io()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to avoid UAF in f2fs_write_end_io()\n\nAs syzbot reported an use-after-free issue in f2fs_write_end_io().\n\nIt is caused by below race condition:\n\nloop device\t\t\t\tumount\n- worker_thread\n - loop_process_work\n  - do_req_filebacked\n   - lo_rw_aio\n    - lo_rw_aio_complete\n     - blk_mq_end_request\n      - blk_update_request\n       - f2fs_write_end_io\n        - dec_page_count\n        - folio_end_writeback\n\t\t\t\t\t- kill_f2fs_super\n\t\t\t\t\t - kill_block_super\n\t\t\t\t\t  - f2fs_put_super\n\t\t\t\t\t : free(sbi)\n       : get_pages(, F2FS_WB_CP_DATA)\n         accessed sbi which is freed\n\nIn kill_f2fs_super(), we will drop all page caches of f2fs inodes before\ncall free(sbi), it guarantee that all folios should end its writeback, so\nit should be safe to access sbi before last folio_end_writeback().\n\nLet's relocate ckpt thread wakeup flow before folio_end_writeback() to\nresolve this issue."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"0fb58aff0dafd6837cc91f4154f3ed6e020358fa","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"2f67ff1e15a8a4d0e4ffc6564ab20d03d7398fe9","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"505e1c0530db6152cab3feef8e3e4da3d3e358c9","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"acc2c97fc0005846e5cf11b5ba3189fef130c9b3","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"cf4a9e1bc8129eb63fda5f8bdcd8d87f0bd76f42","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"995030be4ce6338c6ff814583c14166446a64008","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"a42f99be8a16b32a0bb91bb6dda212a6ad61be5d","versionType":"git"},{"version":"e234088758fca3a669ebb1a02d8bf7bf60f0e4ff","status":"affected","lessThan":"ce2739e482bce8d2c014d76c4531c877f382aa54","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/data.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.13","versionType":"semver"},{"version":"5.10.251","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.201","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.164","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.127","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.74","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.13","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.3","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/data.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/0fb58aff0dafd6837cc91f4154f3ed6e020358fa"},{"url":"https://git.kernel.org/stable/c/2f67ff1e15a8a4d0e4ffc6564ab20d03d7398fe9"},{"url":"https://git.kernel.org/stable/c/505e1c0530db6152cab3feef8e3e4da3d3e358c9"},{"url":"https://git.kernel.org/stable/c/acc2c97fc0005846e5cf11b5ba3189fef130c9b3"},{"url":"https://git.kernel.org/stable/c/cf4a9e1bc8129eb63fda5f8bdcd8d87f0bd76f42"},{"url":"https://git.kernel.org/stable/c/995030be4ce6338c6ff814583c14166446a64008"},{"url":"https://git.kernel.org/stable/c/a42f99be8a16b32a0bb91bb6dda212a6ad61be5d"},{"url":"https://git.kernel.org/stable/c/ce2739e482bce8d2c014d76c4531c877f382aa54"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:02:55.136Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"5.10.251"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"5.15.201"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.1.164"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.6.127"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.12.74"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.18.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"6.19.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.13","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}