CVE-2025-40205
Description
In the Linux kernel, the following vulnerability has been resolved:
btrfs: avoid potential out-of-bounds in btrfs_encode_fh()
The function btrfs_encode_fh() does not properly account for the three cases it handles.
Before writing to the file handle (fh), the function only returns to the user BTRFS_FID_SIZE_NON_CONNECTABLE (5 dwords, 20 bytes) or BTRFS_FID_SIZE_CONNECTABLE (8 dwords, 32 bytes).
However, when a parent exists and the root ID of the parent and the inode are different, the function writes BTRFS_FID_SIZE_CONNECTABLE_ROOT (10 dwords, 40 bytes).
If *max_len is not large enough, this write goes out of bounds because BTRFS_FID_SIZE_CONNECTABLE_ROOT is greater than BTRFS_FID_SIZE_CONNECTABLE originally returned.
This results in an 8-byte out-of-bounds write at fid->parent_root_objectid = parent_root_id.
A previous attempt to fix this issue was made but was lost.
https://lore.kernel.org/all/4CADAEEC020000780001B32C@vpn.id2.novell.com/
Although this issue does not seem to be easily triggerable, it is a potential memory corruption bug that should be fixed. This patch resolves the issue by ensuring the function returns the appropriate size for all three cases and validates that *max_len is large enough before writing any data.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
121- osv-coords119 versionspkg:linux/kernelpkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-rt_debug&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-source-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-source-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms-azure&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-syms-rt&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-64kb&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default-base&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20High%20Availability%20Extension%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2012%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Legacy%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP6pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-default&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-docs&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-kvmsmall&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-livepatch-SLE15-SP6-RT_Update_18&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP6_Update_18&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP6pkg:rpm/suse/kernel-livepatch-SLE15-SP7-RT_Update_7&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-livepatch-SLE15-SP7_Update_7&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2015%20SP7pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-obs-build&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-obs-qa&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-rt_debug&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-rt&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-source-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source&distro=SUSE%20Linux%20Micro%206.2pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.0pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Linux%20Micro%206.1pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-source-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP6pkg:rpm/suse/kernel-syms-azure&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Public%20Cloud%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP6pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Development%20Tools%2015%20SP7pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kernel-syms&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP6pkg:rpm/suse/kernel-syms-rt&distro=SUSE%20Real%20Time%20Module%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP6pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Basesystem%2015%20SP7pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%2016.0pkg:rpm/suse/kernel-zfcpdump&distro=SUSE%20Linux%20Enterprise%20Server%20for%20SAP%20applications%2016.0pkg:rpm/suse/kgraft-patch-SLE12-SP5_Update_75&distro=SUSE%20Linux%20Enterprise%20Live%20Patching%2012%20SP5
>= 2.6.29, < 5.4.301+ 118 more
- (no CPE)range: >= 2.6.29, < 5.4.301
- (no CPE)range: < 6.4.0-150600.23.81.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.8.58.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150600.23.81.3.150600.12.36.3
- (no CPE)range: < 6.12.0-160000.8.1.160000.2.5
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.8.58.1
- (no CPE)range: < 6.4.0-150600.23.81.2
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-150600.8.58.1
- (no CPE)range: < 6.4.0-150600.23.81.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.8.58.1
- (no CPE)range: < 6.4.0-150700.20.21.1
- (no CPE)range: < 6.4.0-150600.23.81.3.150600.12.36.3
- (no CPE)range: < 6.4.0-150700.53.25.1.150700.17.17.1
- (no CPE)range: < 6.12.0-160000.8.1.160000.2.5
- (no CPE)range: < 6.12.0-160000.8.1.160000.2.5
- (no CPE)range: < 6.4.0-38.1.21.15
- (no CPE)range: < 6.4.0-38.1.21.15
- (no CPE)range: < 6.12.0-160000.8.1.160000.2.5
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.23.81.1
- (no CPE)range: < 6.4.0-150700.53.25.2
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 1-150600.1.3.1
- (no CPE)range: < 1-150600.13.3.3
- (no CPE)range: < 1-150700.1.3.1
- (no CPE)range: < 1-150700.15.3.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-150700.7.25.1
- (no CPE)range: < 6.4.0-150600.8.58.1
- (no CPE)range: < 6.4.0-150700.20.21.1
- (no CPE)range: < 6.4.0-150600.23.81.2
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.4.0-150600.23.81.2
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.4.0-38.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.4.0-39.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-150700.7.25.1
- (no CPE)range: < 6.4.0-150600.8.58.1
- (no CPE)range: < 6.4.0-150700.20.21.1
- (no CPE)range: < 6.4.0-150600.23.81.1
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 4.12.14-122.283.1
- (no CPE)range: < 6.4.0-150600.10.61.1
- (no CPE)range: < 6.4.0-150700.7.25.1
- (no CPE)range: < 6.4.0-150600.23.81.3
- (no CPE)range: < 6.4.0-150700.53.25.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 6.12.0-160000.8.1
- (no CPE)range: < 1-8.3.1
Patches
Vulnerability mechanics
References
8- git.kernel.org/stable/c/0276c8582488022f057b4cec21975a5edf079f47nvd
- git.kernel.org/stable/c/361d67276eb8ec6be8f27f4ad6c6090459438feenvd
- git.kernel.org/stable/c/43143776b0a7604d873d1a6f3e552a00aa930224nvd
- git.kernel.org/stable/c/60de2f55d2aca53e81b4ef2a67d7cc9e1eb677dbnvd
- git.kernel.org/stable/c/742b44342204e5dfe3926433823623c1a0c581dfnvd
- git.kernel.org/stable/c/d3a9a8e1275eb9b87f006b5562a287aea3f6885fnvd
- git.kernel.org/stable/c/d91f6626133698362bba08fbc04bd72c466806d3nvd
- git.kernel.org/stable/c/dff4f9ff5d7f289e4545cc936362e01ed3252742nvd
News mentions
0No linked articles in our index yet.