CVE-2026-63818
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
f2fs: validate orphan inode entry count
f2fs_recover_orphan_inodes() trusts the orphan block entry_count when replaying orphan inodes from the checkpoint pack. A corrupted entry_count larger than F2FS_ORPHANS_PER_BLOCK makes the recovery loop read past the ino[] array and interpret footer or following data as inode numbers.
On a crafted image, mounting an unpatched kernel can drive orphan recovery into f2fs_bug_on() and panic the kernel. Validate entry_count before consuming entries so corrupted checkpoint data fails the mount with -EFSCORRUPTED and requests fsck instead.
Set ERROR_INCONSISTENT_ORPHAN as well, so the corruption reason can be recorded in the superblock s_errors[] field. This gives fsck a persistent hint even though mount-time orphan recovery failure may leave no chance to persist SBI_NEED_FSCK through a checkpoint.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 127e670abfa7fa150f6550d620ded930f5bdb4e7 < 550511a2470f6d204fa07b331f048bd2d3c51280 | affected |
| Linux | Linux | 127e670abfa7fa150f6550d620ded930f5bdb4e7 < 8aad54746c251f2c2370118df766c0c82e2d2091 | affected |
| Linux | Linux | 127e670abfa7fa150f6550d620ded930f5bdb4e7 < 2e12381d4495dc8b0ff042c6856022b2e359835c | affected |
| Linux | Linux | 127e670abfa7fa150f6550d620ded930f5bdb4e7 < 846c499a65816d13f1186e3090e825e8bb8bcb8b | affected |
| Linux | Linux | 3.8 | affected |
| Linux | Linux | 0 < 3.8 | unaffected |
| Linux | Linux | 6.12.96 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.38 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.3 <= 7.1.* | unaffected |
| Linux | Linux | 7.2-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/550511a2470f6d204fa07b331f048bd2d3c51280
- https://git.kernel.org/stable/c/8aad54746c251f2c2370118df766c0c82e2d2091
- https://git.kernel.org/stable/c/2e12381d4495dc8b0ff042c6856022b2e359835c
- https://git.kernel.org/stable/c/846c499a65816d13f1186e3090e825e8bb8bcb8b
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.