In the Linux kernel, the following vulnerability has been resolved:
btrfs: handle chunk tree lookup error in btrfsrelocatesys_chunks()
The unhandled case in btrfsrelocatesys_chunks() loop is a corruption, as it could be caused only by two impossible conditions:
at first the search key is set up to look for a chunk tree item, with offset -1, this is an inexact search and the key->offset will contain the correct offset upon a successful search, a valid chunk tree item cannot have an offset -1
after first successful search, the found_key corresponds to a chunk item, the offset is decremented by 1 before the next loop, it's impossible to find a chunk item there due to alignment and size constraints
[
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1356.0,
"function_hash": "257779242792951060917144624436280784252"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f9212cdbd005bc55f2b7422e7b560d9c02bd1da",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-0cf9d4a2"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"321572200704916988370385322273365522103",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d23b34c68c46cd225b55868bc8a269e3134816d",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-11411542"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1384.0,
"function_hash": "6673751494509937548067983301255159894"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@576164bd01bd795f8b09fb194b493103506b33c9",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-21f958c5"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"223190823800963278324461974404334530599",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@576164bd01bd795f8b09fb194b493103506b33c9",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-26814026"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"321572200704916988370385322273365522103",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7411055db5ce64f836aaffd422396af0075fdc99",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-326aa052"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"321572200704916988370385322273365522103",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f9212cdbd005bc55f2b7422e7b560d9c02bd1da",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-3a3e6f22"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1384.0,
"function_hash": "6673751494509937548067983301255159894"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87299cdaae757f3f41212146cfb5b3af416b8385",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-86b7bee7"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1356.0,
"function_hash": "257779242792951060917144624436280784252"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1ffa4ae2d591fdd40471074e79954ec45f147f7",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-91c6c25f"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1384.0,
"function_hash": "6673751494509937548067983301255159894"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bebd9e0ff90034875c5dfe4bd514fd7055fc7a89",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-962ca942"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"223190823800963278324461974404334530599",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bebd9e0ff90034875c5dfe4bd514fd7055fc7a89",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-a6a85d44"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"321572200704916988370385322273365522103",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@36c2a2863bc3896243eb724dc3fd4cf9aea633f2",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-c39f2aca"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"321572200704916988370385322273365522103",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d1ffa4ae2d591fdd40471074e79954ec45f147f7",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-c6fe36d0"
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"223190823800963278324461974404334530599",
"161988654872894018976369714015807191810",
"88535114087188612839810292038223563389",
"36788713029280419099961232326039293501"
],
"threshold": 0.9
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@87299cdaae757f3f41212146cfb5b3af416b8385",
"target": {
"file": "fs/btrfs/volumes.c"
},
"id": "CVE-2024-35936-ee4677c4"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1356.0,
"function_hash": "257779242792951060917144624436280784252"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7411055db5ce64f836aaffd422396af0075fdc99",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-f4897271"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1356.0,
"function_hash": "257779242792951060917144624436280784252"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@36c2a2863bc3896243eb724dc3fd4cf9aea633f2",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-fdc96395"
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 1356.0,
"function_hash": "257779242792951060917144624436280784252"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0d23b34c68c46cd225b55868bc8a269e3134816d",
"target": {
"file": "fs/btrfs/volumes.c",
"function": "btrfs_relocate_sys_chunks"
},
"id": "CVE-2024-35936-fee8752c"
}
]