CVE-2026-63818

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

VendorProductVersion RangeStatus
LinuxLinux127e670abfa7fa150f6550d620ded930f5bdb4e7 < 550511a2470f6d204fa07b331f048bd2d3c51280affected
LinuxLinux127e670abfa7fa150f6550d620ded930f5bdb4e7 < 8aad54746c251f2c2370118df766c0c82e2d2091affected
LinuxLinux127e670abfa7fa150f6550d620ded930f5bdb4e7 < 2e12381d4495dc8b0ff042c6856022b2e359835caffected
LinuxLinux127e670abfa7fa150f6550d620ded930f5bdb4e7 < 846c499a65816d13f1186e3090e825e8bb8bcb8baffected
LinuxLinux3.8affected
LinuxLinux0 < 3.8unaffected
LinuxLinux6.12.96 <= 6.12.*unaffected
LinuxLinux6.18.38 <= 6.18.*unaffected
LinuxLinux7.1.3 <= 7.1.*unaffected
LinuxLinux7.2-rc1 <= *unaffected

Weaknesses

References