CVE-2026-63812
f2fs: fix incorrect FI_NO_EXTENT handling in __destroy_extent_node()
Description
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix incorrect FI_NO_EXTENT handling in __destroy_extent_node() When __destroy_extent_node() sets the inode flag FI_NO_EXTENT, it does not reset the length of the largest extent to 0 and update the inode folio. Since modifications to the extent tree are disallowed afterward, the cached largest extent may become stale. This can trigger the following error in xfstests generic/388: F2FS-fs (dm-0): sanity_check_extent_cache: inode (ino=1761) extent info [220057, 57, 6] is incorrect, run fsck to fix In the f2fs_drop_inode path, __destroy_extent_node() does not need to guarantee that et->node_cnt is 0, because concurrency with writeback is expected in this path, and writeback may update the extent cache. This patch reverts commit ed78aeebef05 ("f2fs: fix node_cnt race between extent node destroy and writeback"), and remove the unnecessary zero check of et->node_cnt.
INFO
Published Date :
July 19, 2026, 12:16 p.m.
Last Modified :
July 19, 2026, 12:16 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products
The following products are affected by CVE-2026-63812
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
No affected product recoded yet
Solution
- Apply the provided Linux kernel patch.
- Update the Linux kernel.
- Revert the specified commit.
- Remove the unnecessary node_cnt zero check.
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-63812.
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-63812 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-63812
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-63812 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-63812 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.
-
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 19, 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': '42dd1c91f993431d0b399502479d00e6ad1bca71', 'lessThan': '7e4d8f98be63f98856a5176b9188dada6e7ba9ee', 'versionType': 'git'}, {'status': 'affected', 'version': 'ab1eaf9d5c99042f5b0243bf67a06283a4c0757f', 'lessThan': '58a5deb220bcac4c73bf58954c0845644c997487', 'versionType': 'git'}, {'status': 'affected', 'version': 'b0e4395870eb3441ddc959f6710b5f6ca61aff26', 'lessThan': '20190e498057997532c7f186d081011f18e0a462', 'versionType': 'git'}, {'status': 'affected', 'version': 'ed78aeebef05212ef7dca93bd931e4eff67c113f', 'lessThan': 'edf12cbeeeabe799bd2ee21fdb5c336cce6fbad7', 'versionType': 'git'}, {'status': 'affected', 'version': 'ed78aeebef05212ef7dca93bd931e4eff67c113f', 'lessThan': '1f70ddb28a3c71df124da5fa4040c808116d6bb9', 'versionType': 'git'}, {'status': 'affected', 'version': '0559a0e962aacbb47519e26ee663be04b72dcb92', 'versionType': 'git'}, {'status': 'affected', 'version': '6.6.140', 'lessThan': '6.6.144', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.12.88', 'lessThan': '6.12.95', 'versionType': 'semver'}, {'status': 'affected', 'version': '6.18.30', 'lessThan': '6.18.38', 'versionType': 'semver'}, {'status': 'affected', 'version': '7.0.7', 'lessThan': '7.1', 'versionType': 'semver'}], 'programFiles': ['fs/f2fs/extent_cache.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '7.1'}, {'status': 'unaffected', 'version': '0', 'lessThan': '7.1', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.144', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.95', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.38', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.1.3', 'versionType': 'semver', 'lessThanOrEqual': '7.1.*'}, {'status': 'unaffected', 'version': '7.2-rc1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['fs/f2fs/extent_cache.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: f2fs: fix incorrect FI_NO_EXTENT handling in __destroy_extent_node() When __destroy_extent_node() sets the inode flag FI_NO_EXTENT, it does not reset the length of the largest extent to 0 and update the inode folio. Since modifications to the extent tree are disallowed afterward, the cached largest extent may become stale. This can trigger the following error in xfstests generic/388: F2FS-fs (dm-0): sanity_check_extent_cache: inode (ino=1761) extent info [220057, 57, 6] is incorrect, run fsck to fix In the f2fs_drop_inode path, __destroy_extent_node() does not need to guarantee that et->node_cnt is 0, because concurrency with writeback is expected in this path, and writeback may update the extent cache. This patch reverts commit ed78aeebef05 ("f2fs: fix node_cnt race between extent node destroy and writeback"), and remove the unnecessary zero check of et->node_cnt. Added Reference https://git.kernel.org/stable/c/1f70ddb28a3c71df124da5fa4040c808116d6bb9 Added Reference https://git.kernel.org/stable/c/20190e498057997532c7f186d081011f18e0a462 Added Reference https://git.kernel.org/stable/c/58a5deb220bcac4c73bf58954c0845644c997487 Added Reference https://git.kernel.org/stable/c/7e4d8f98be63f98856a5176b9188dada6e7ba9ee Added Reference https://git.kernel.org/stable/c/edf12cbeeeabe799bd2ee21fdb5c336cce6fbad7