CVE-2026-68459
f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()
Description
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs() When we mount device w/ gc_merge mount option, we may suffer below potential deadlock: Kworker GC trehad Truncator - f2fs_write_cache_pages - f2fs_write_single_data_page - f2fs_do_write_data_page - folio_start_writeback --- set writeback flag on folio - f2fs_outplace_write_data : cached folio in internal bio cache - f2fs_balance_fs - wake_up(gc_thread) : wake up gc thread to run foreground GC - finish_wait(fggc_wq) : wait on the waitqueue --- wait on GC thread to finish the work - truncate_inode_pages_range - __filemap_get_folio(, FGP_LOCK) --- lock folio - truncate_inode_partial_folio - folio_wait_writeback --- wait on writeback being cleared - do_garbage_collect - move_data_page - f2fs_get_lock_data_folio - lock on folio --- blocked on folio's lock In order to avoid such deadlock, let's call below functions to commit cached bios in GC_MERGE path of f2fs_balance_fs() as the same as we did in NOGC_MERGE path. - f2fs_submit_merged_write(sbi, DATA); - f2fs_submit_all_merged_ipu_writes(sbi);
INFO
Published Date :
Aug. 15, 2026, 6:18 a.m.
Last Modified :
Aug. 17, 2026, 6:17 a.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
- Update the Linux kernel to the latest version.
- Apply the provided patch for the f2fs_balance_fs deadlock.
- Commit cached bios in the GC_MERGE path.
- Ensure f2fs_submit_merged_write and f2fs_submit_all_merged_ipu_writes are called.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-68459.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-68459 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-68459
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-68459 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-68459 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 17, 2026
Action Type Old Value New Value Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '8071500a8124e5a6d47d901a8d5ffd91743107a1', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'eb02f218aacb36365e0ca2339cbae81fb05d31a5', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '1436031b33fa23ab1ce7df5bc5500093413e8acf', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'b885c7783c19c36c7bf899492a0bffcd68afa8c7', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '89479a27fa4e1e11f378b3724944eabceb84f114', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'aa807064473abd6f2cafe419fb77ea402d3e3104', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '8b4468ec023d0d1b4669dfb867588997cc03a06b', 'versionType': 'git'}], 'programFiles': ['fs/f2fs/segment.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '3.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/f2fs/segment.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '8071500a8124e5a6d47d901a8d5ffd91743107a1', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'eb02f218aacb36365e0ca2339cbae81fb05d31a5', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '1436031b33fa23ab1ce7df5bc5500093413e8acf', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'b885c7783c19c36c7bf899492a0bffcd68afa8c7', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '89479a27fa4e1e11f378b3724944eabceb84f114', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'aa807064473abd6f2cafe419fb77ea402d3e3104', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '8b4468ec023d0d1b4669dfb867588997cc03a06b', 'versionType': 'git'}], 'programFiles': ['fs/f2fs/segment.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '3.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/f2fs/segment.c'], 'defaultStatus': 'affected'}] -
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Aug. 15, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '8071500a8124e5a6d47d901a8d5ffd91743107a1', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'eb02f218aacb36365e0ca2339cbae81fb05d31a5', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '1436031b33fa23ab1ce7df5bc5500093413e8acf', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'b885c7783c19c36c7bf899492a0bffcd68afa8c7', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '89479a27fa4e1e11f378b3724944eabceb84f114', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': 'aa807064473abd6f2cafe419fb77ea402d3e3104', 'versionType': 'git'}, {'status': 'affected', 'version': '351df4b201157351c7d26bf12c3eeb9dbce98854', 'lessThan': '8b4468ec023d0d1b4669dfb867588997cc03a06b', 'versionType': 'git'}], 'programFiles': ['fs/f2fs/segment.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '3.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.15.212', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.178', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.145', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.96', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.39', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.5', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/f2fs/segment.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs() When we mount device w/ gc_merge mount option, we may suffer below potential deadlock: Kworker GC trehad Truncator - f2fs_write_cache_pages - f2fs_write_single_data_page - f2fs_do_write_data_page - folio_start_writeback --- set writeback flag on folio - f2fs_outplace_write_data : cached folio in internal bio cache - f2fs_balance_fs - wake_up(gc_thread) : wake up gc thread to run foreground GC - finish_wait(fggc_wq) : wait on the waitqueue --- wait on GC thread to finish the work - truncate_inode_pages_range - __filemap_get_folio(, FGP_LOCK) --- lock folio - truncate_inode_partial_folio - folio_wait_writeback --- wait on writeback being cleared - do_garbage_collect - move_data_page - f2fs_get_lock_data_folio - lock on folio --- blocked on folio's lock In order to avoid such deadlock, let's call below functions to commit cached bios in GC_MERGE path of f2fs_balance_fs() as the same as we did in NOGC_MERGE path. - f2fs_submit_merged_write(sbi, DATA); - f2fs_submit_all_merged_ipu_writes(sbi); Added Reference https://git.kernel.org/stable/c/1436031b33fa23ab1ce7df5bc5500093413e8acf Added Reference https://git.kernel.org/stable/c/8071500a8124e5a6d47d901a8d5ffd91743107a1 Added Reference https://git.kernel.org/stable/c/89479a27fa4e1e11f378b3724944eabceb84f114 Added Reference https://git.kernel.org/stable/c/8b4468ec023d0d1b4669dfb867588997cc03a06b Added Reference https://git.kernel.org/stable/c/aa807064473abd6f2cafe419fb77ea402d3e3104 Added Reference https://git.kernel.org/stable/c/b885c7783c19c36c7bf899492a0bffcd68afa8c7 Added Reference https://git.kernel.org/stable/c/eb02f218aacb36365e0ca2339cbae81fb05d31a5