CVE-2026-43365

Summary

In the Linux kernel, the following vulnerability has been resolved:

xfs: fix undersized l_iclog_roundoff values

If the superblock doesn't list a log stripe unit, we set the incore log roundoff value to 512. This leads to corrupt logs and unmountable filesystems in generic/617 on a disk with 4k physical sectors…

XFS (sda1): Mounting V5 Filesystem ff3121ca-26e6-4b77-b742-aaff9a449e1c XFS (sda1): Torn write (CRC failure) detected at log block 0x318e. Truncating head block from 0x3197. XFS (sda1): failed to locate log tail XFS (sda1): log mount/recovery failed: error -74 XFS (sda1): log mount failed XFS (sda1): Mounting V5 Filesystem ff3121ca-26e6-4b77-b742-aaff9a449e1c XFS (sda1): Ending clean mount

…on the current xfsprogs for-next which has a broken mkfs. xfs_info shows this…

meta-data=/dev/sda1 isize=512 agcount=4, agsize=644992 blks = sectsz=4096 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=1 = reflink=1 bigtime=1 inobtcount=1 nrext64=1 = exchange=1 metadir=1 data = bsize=4096 blocks=2579968, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1, parent=1 log =internal log bsize=4096 blocks=16384, version=2 = sectsz=4096 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 = rgcount=0 rgsize=268435456 extents = zoned=0 start=0 reserved=0

…observe that the log section has sectsz=4096 sunit=0, which means that the roundoff factor is 512, not 4096 as you'd expect. We should fix mkfs not to generate broken filesystems, but anyone can fuzz the ondisk superblock so we should be more cautious. I think the inadequate logic predates commit a6a65fef5ef8d0, but that's clearly going to require a different backport.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < 5afae524f83d6a18517298491a5624cb0eae5029affected
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < 2ecda4b83749c1fef0c9dea4fd5e8b513aba3e40affected
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < 41e91dff2d3974730b5ee50daa8e27ec254cbf91affected
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < e88ce9f0536f3b2149afb70625cfc4bd74a4ac6daffected
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < 446a1f5bb64ba38adb93cb043ff0f7b85e8937caaffected
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < 5e7148402dfc4a5b7894d8e97b15e5c2e70924aaaffected
LinuxLinuxa6a65fef5ef8d0a6a0ce514eb66b2f3dfa777b48 < 52a8a1ba883defbfe3200baa22cf4cd21985d51aaffected
LinuxLinux5.14affected
LinuxLinux0 < 5.14unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.167 <= 6.1.*unaffected
LinuxLinux6.6.130 <= 6.6.*unaffected
LinuxLinux6.12.78 <= 6.12.*unaffected
LinuxLinux6.18.19 <= 6.18.*unaffected
LinuxLinux6.19.9 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References