UBUNTU-CVE-2026-80537: High severity ubuntu/linux-hwe-edge vulnerability
In the Linux kernel, the following vulnerability has been resolved: xfs: fix off-by-one in rtrefcount btree root level validation xfsrtrefcountbtcomputemaxlevels() sets mp->mrtrefcmaxlevels = min(dmaxlevels, rmaxlevels) + 1; where the trailing "+ 1" already accounts for the inode-root level, so the deepest valid on-disk root level is mrtrefcmaxlevels - 1 and a cursor must satisfy bcnlevels <= bcmaxlevels (= mrtrefcmaxlevels). The two on-disk validation paths, xfsrtrefcountbtverify() and xfsiformatrtrefcount(), check the root level with ">" instead of ">=", so a crafted rtreflink (metadir + realtime + reflink) image whose /rtgroups/N.refcount inode has bblevel == mrtrefcmaxlevels is accepted on mount. xfsrtrefcountbtinitcursor() then sets bcnlevels = bblevel + 1, exceeding bcmaxlevels by one. Since the xfsrtrefcountbtcur slab object is sized for exactly bcmaxlevels entries, the first btree op on such a cursor indexes bclevels[mrtrefcmaxlevels] past the end of the object. This is reached by the first rtrefcount cursor built after mount, via log/CoW recovery (xfsreflinkrecovercow() during xfsmountfs()) or an FSIOCGETFSMAP over the realtime device. Reject a root level equal to mrtrefcmaxlevels, matching the ">=" form already used by the sibling data-device refcount/rmap verifiers and the in-memory rtrmap verifier. BUG: KASAN: slab-out-of-bounds in xfsbtreelookup (fs/xfs/libxfs/xfsbtree.c:2101) Write of size 2 at addr ffff888018391658 by task exploit/144 xfsbtreelookup (fs/xfs/libxfs/xfsbtree.c:2101) xfsbtreequeryrange (fs/xfs/libxfs/xfsbtree.c:5308) xfsrefcountrecovercowleftovers (fs/xfs/libxfs/xfsrefcount.c:2113) xfsreflinkrecovercow (fs/xfs/xfsreflink.c:1085) xlogrecoverfinish (fs/xfs/xfslogrecover.c:3551) xfsmountfs (fs/xfs/xfsmount.c:1158) xfsfsfillsuper (fs/xfs/xfssuper.c:1940) gettreebdevflags (fs/super.c:1634) vfsgettree (fs/super.c:1694) pathmount (fs/namespace.c:4161) x64sysmount (fs/namespace.c:4367) entrySYSCALL64afterhwframe (arch/x86/entry/entry64.S:121) The buggy address belongs to the cache xfsrtrefcountbtcur of size 216 The buggy address is located 8 bytes to the right of allocated 216-byte region [ffff888018391578, ffff888018391650) Kernel panic - not syncing: Fatal exception
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1
Event History
Frequently Asked Questions
What systems are exposed to this issue?
Exposure requires an XFS filesystem image using rtreflink features: metadata directories, a realtime device, and reflink. The affected Ubuntu kernel package families listed are linux-riscv, linux-realtime, linux-hwe-edge, linux-azure, linux-gcp, linux-azure-fde, linux-gke, and linux-aws-5.0.
What must an attacker provide or do to trigger the flaw?
An attacker needs to make the system mount a crafted rtreflink XFS image whose realtime refcount inode has a root level equal to the maximum configured level. This is a local attack vector and requires low privileges according to the supplied severity vector.
When can the out-of-bounds access be reached after mounting the crafted filesystem?
It can occur when the first realtime refcount btree cursor is created. The description identifies log/CoW recovery during mount and an FS_IOC_GETFSMAP operation over the realtime device as trigger paths.