In the Linux kernel, the following vulnerability has been resolved: btrfs: tree-checker:...
🔗 CVE IDs covered (1)
📋 Description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: tree-checker: validate names in ROOT_REF and ROOT_BACKREF
ROOT_REF and ROOT_BACKREF items contain a struct btrfs_root_ref followed by the subvolume name. Several readers assume that this layout is already valid and then use the on-disk name length directly. A corrupted item can therefore make those readers address bytes outside the item, and BTRFS_IOC_GET_SUBVOL_INFO can copy too many bytes into its fixed-size UAPI name buffer.
Validate ROOT_REF and ROOT_BACKREF items in tree-checker before any reader uses them. Reject records that do not contain a non-empty name, whose name_len does not exactly describe the remaining item payload, or whose name exceeds BTRFS_NAME_LEN.
For BTRFS_IOC_GET_SUBVOL_INFO, copy only the validated on-disk name_len instead of deriving the copy length from the item size. The ioctl result is zeroed when allocated. That leaves the existing trailing zero byte untouched.
🔗 References (7)
- https://nvd.nist.gov/vuln/detail/CVE-2026-97415
- https://git.kernel.org/stable/c/0af37c217edf15fa21dac1c40822086df356c6bb
- https://git.kernel.org/stable/c/74f577c722c99248d804eca18e7de7c5e47549d7
- https://git.kernel.org/stable/c/9154542070ca7eadb3c764a882f39a127677854b
- https://git.kernel.org/stable/c/1370badf6b823ce3cde39a65f46f9e5dc7b4bf43
- https://git.kernel.org/stable/c/ba6c4fc662853f6662e4db060cf88ee994053e21
- https://github.com/advisories/GHSA-8vvp-6p8q-q9pq