CVE-2024-56581 (GCVE-0-2024-56581)

Vulnerability from cvelistv5 – Published: 2024-12-27 14:23 – Updated: 2026-08-05 11:45
VLAI
Title
btrfs: ref-verify: fix use-after-free after invalid ref action
Summary
In the Linux kernel, the following vulnerability has been resolved: btrfs: ref-verify: fix use-after-free after invalid ref action At btrfs_ref_tree_mod() after we successfully inserted the new ref entry (local variable 'ref') into the respective block entry's rbtree (local variable 'be'), if we find an unexpected action of BTRFS_DROP_DELAYED_REF, we error out and free the ref entry without removing it from the block entry's rbtree. Then in the error path of btrfs_ref_tree_mod() we call btrfs_free_ref_cache(), which iterates over all block entries and then calls free_block_entry() for each one, and there we will trigger a use-after-free when we are called against the block entry to which we added the freed ref entry to its rbtree, since the rbtree still points to the block entry, as we didn't remove it from the rbtree before freeing it in the error path at btrfs_ref_tree_mod(). Fix this by removing the new ref entry from the rbtree before freeing it. Syzbot report this with the following stack traces: BTRFS error (device loop0 state EA): Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314 btrfs_insert_empty_item fs/btrfs/ctree.h:669 [inline] btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23 btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482 btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293 vfs_unlink+0x365/0x650 fs/namei.c:4469 do_unlinkat+0x4ae/0x830 fs/namei.c:4533 __do_sys_unlinkat fs/namei.c:4576 [inline] __se_sys_unlinkat fs/namei.c:4569 [inline] __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f BTRFS error (device loop0 state EA): Ref action 1, root 5, ref_root 5, parent 0, owner 260, offset 0, num_refs 1 __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521 update_ref_for_cow+0x96a/0x11f0 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [inline] __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137 __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171 btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313 prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586 relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611 btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081 btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377 __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161 btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538 BTRFS error (device loop0 state EA): Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_i ---truncated---
SSVC
Exploitation: none Automatable: no Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < dfb9fe7de61f34cc241ab3900bdde93341096e0e (git)
Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < 6fd018aa168e472ce35be32296d109db6adb87ea (git)
Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < d2b85ce0561fde894e28fa01bd5d32820d585006 (git)
Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < 6370db28af9a8ae3bbdfe97f8a48f8f995e144cf (git)
Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < 4275ac2741941c9c7c2293619fdbacb9f70ba85b (git)
Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < a6f9e7a0bf1185c9070c0de03bb85eafb9abd650 (git)
Affected: fd708b81d972a0714b02a60eb4792fdbf15868c4 , < 7c4e39f9d2af4abaf82ca0e315d1fd340456620f (git)
Create a notification for this product.
Linux Linux Affected: 4.15
Unaffected: 0 , < 4.15 (semver)
Unaffected: 5.4.287 , ≤ 5.4.* (semver)
Unaffected: 5.10.231 , ≤ 5.10.* (semver)
Unaffected: 5.15.174 , ≤ 5.15.* (semver)
Unaffected: 6.1.120 , ≤ 6.1.* (semver)
Unaffected: 6.6.64 , ≤ 6.6.* (semver)
Unaffected: 6.12.4 , ≤ 6.12.* (semver)
Unaffected: 6.13 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 7.8,
              "baseSeverity": "HIGH",
              "confidentialityImpact": "HIGH",
              "integrityImpact": "HIGH",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2024-56581",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-02-11T15:42:39.280771Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-416",
                "description": "CWE-416 Use After Free",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-02-11T15:45:24.590Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T20:49:58.257Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/btrfs/ref-verify.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "dfb9fe7de61f34cc241ab3900bdde93341096e0e",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            },
            {
              "lessThan": "6fd018aa168e472ce35be32296d109db6adb87ea",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            },
            {
              "lessThan": "d2b85ce0561fde894e28fa01bd5d32820d585006",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            },
            {
              "lessThan": "6370db28af9a8ae3bbdfe97f8a48f8f995e144cf",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            },
            {
              "lessThan": "4275ac2741941c9c7c2293619fdbacb9f70ba85b",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            },
            {
              "lessThan": "a6f9e7a0bf1185c9070c0de03bb85eafb9abd650",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            },
            {
              "lessThan": "7c4e39f9d2af4abaf82ca0e315d1fd340456620f",
              "status": "affected",
              "version": "fd708b81d972a0714b02a60eb4792fdbf15868c4",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/btrfs/ref-verify.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.15"
            },
            {
              "lessThan": "4.15",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.287",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.231",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.174",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.120",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.64",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.287",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.231",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.174",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.120",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.64",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.4",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13",
                  "versionStartIncluding": "4.15",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: ref-verify: fix use-after-free after invalid ref action\n\nAt btrfs_ref_tree_mod() after we successfully inserted the new ref entry\n(local variable \u0027ref\u0027) into the respective block entry\u0027s rbtree (local\nvariable \u0027be\u0027), if we find an unexpected action of BTRFS_DROP_DELAYED_REF,\nwe error out and free the ref entry without removing it from the block\nentry\u0027s rbtree. Then in the error path of btrfs_ref_tree_mod() we call\nbtrfs_free_ref_cache(), which iterates over all block entries and then\ncalls free_block_entry() for each one, and there we will trigger a\nuse-after-free when we are called against the block entry to which we\nadded the freed ref entry to its rbtree, since the rbtree still points\nto the block entry, as we didn\u0027t remove it from the rbtree before freeing\nit in the error path at btrfs_ref_tree_mod(). Fix this by removing the\nnew ref entry from the rbtree before freeing it.\n\nSyzbot report this with the following stack traces:\n\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\n      btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314\n      btrfs_insert_empty_item fs/btrfs/ctree.h:669 [inline]\n      btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23\n      btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482\n      btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293\n      vfs_unlink+0x365/0x650 fs/namei.c:4469\n      do_unlinkat+0x4ae/0x830 fs/namei.c:4533\n      __do_sys_unlinkat fs/namei.c:4576 [inline]\n      __se_sys_unlinkat fs/namei.c:4569 [inline]\n      __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569\n      do_syscall_x64 arch/x86/entry/common.c:52 [inline]\n      do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83\n      entry_SYSCALL_64_after_hwframe+0x77/0x7f\n   BTRFS error (device loop0 state EA):   Ref action 1, root 5, ref_root 5, parent 0, owner 260, offset 0, num_refs 1\n      __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521\n      update_ref_for_cow+0x96a/0x11f0\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\n      btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [inline]\n      __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137\n      __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171\n      btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313\n      prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586\n      relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611\n      btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081\n      btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377\n      __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161\n      btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\n      btrfs_update_delayed_i\n---truncated---"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is reached only through local filesystem activity on a mounted btrfs volume \u2014 ordinary syscalls such as unlinkat() or the BTRFS_IOC_BALANCE ioctl driving btrfs_cow_block()/__btrfs_mod_ref(). There is no network-facing path into fs/btrfs/ref-verify.c.\nAC:H - Exploitation requires the kernel to be built with CONFIG_BTRFS_FS_REF_VERIFY, which is default-n developer-only instrumentation not shipped by any mainstream distribution, AND the filesystem to be mounted with the explicit -o ref_verify option; without either, btrfs_ref_tree_mod() returns immediately. Both are target-configuration conditions entirely outside the attacker\u0027s control.\nPR:L - On a ref_verify-instrumented mount whose extent tree is inconsistent, the syzbot stack traces show the faulting path entered from a plain unlinkat() syscall via btrfs_orphan_add() \u2192 btrfs_cow_block() \u2192 __btrfs_mod_ref(), so an unprivileged local user performing normal file operations suffices; no capability check guards that path.\nUI:N - Once the instrumented filesystem is mounted, the attacker triggers the invalid ref action entirely through their own syscalls with no action from any other user or administrator.\nS:U - The use-after-free and double free occur in kernel slab memory managed by the same kernel security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - free_block_entry() performs rb_first()/rb_entry() reads on the freed 64-byte ref_entry, so an attacker who grooms the kmalloc-64 slab to reclaim that object during the unlocked window controls the rbtree pointers being dereferenced, yielding a controlled kernel memory read primitive and disclosure of arbitrary kernel data.\nI:H - rb_erase() writes parent/color pointers into the freed object and its rbtree neighbours after the free, and the object is then kfree()\u0027d a second time; this combination of a post-free write and a double free is a classic route to heap metadata corruption, arbitrary write, and control-flow hijack.\nA:H - The bug is a KASAN-confirmed slab-use-after-free followed by a double free, which reliably oopses or panics the kernel and corrupts the slab allocator state, taking the system down."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:45:11.349Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/dfb9fe7de61f34cc241ab3900bdde93341096e0e"
        },
        {
          "url": "https://git.kernel.org/stable/c/6fd018aa168e472ce35be32296d109db6adb87ea"
        },
        {
          "url": "https://git.kernel.org/stable/c/d2b85ce0561fde894e28fa01bd5d32820d585006"
        },
        {
          "url": "https://git.kernel.org/stable/c/6370db28af9a8ae3bbdfe97f8a48f8f995e144cf"
        },
        {
          "url": "https://git.kernel.org/stable/c/4275ac2741941c9c7c2293619fdbacb9f70ba85b"
        },
        {
          "url": "https://git.kernel.org/stable/c/a6f9e7a0bf1185c9070c0de03bb85eafb9abd650"
        },
        {
          "url": "https://git.kernel.org/stable/c/7c4e39f9d2af4abaf82ca0e315d1fd340456620f"
        }
      ],
      "title": "btrfs: ref-verify: fix use-after-free after invalid ref action",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-56581",
    "datePublished": "2024-12-27T14:23:23.193Z",
    "dateReserved": "2024-12-27T14:03:06.000Z",
    "dateUpdated": "2026-08-05T11:45:11.349Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2024-56581",
      "date": "2026-08-05",
      "epss": "0.00238",
      "percentile": "0.14829"
    },
    "fkie_nvd": {
      "descriptions": "[{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: ref-verify: fix use-after-free after invalid ref action\\n\\nAt btrfs_ref_tree_mod() after we successfully inserted the new ref entry\\n(local variable \u0027ref\u0027) into the respective block entry\u0027s rbtree (local\\nvariable \u0027be\u0027), if we find an unexpected action of BTRFS_DROP_DELAYED_REF,\\nwe error out and free the ref entry without removing it from the block\\nentry\u0027s rbtree. Then in the error path of btrfs_ref_tree_mod() we call\\nbtrfs_free_ref_cache(), which iterates over all block entries and then\\ncalls free_block_entry() for each one, and there we will trigger a\\nuse-after-free when we are called against the block entry to which we\\nadded the freed ref entry to its rbtree, since the rbtree still points\\nto the block entry, as we didn\u0027t remove it from the rbtree before freeing\\nit in the error path at btrfs_ref_tree_mod(). Fix this by removing the\\nnew ref entry from the rbtree before freeing it.\\n\\nSyzbot report this with the following stack traces:\\n\\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314\\n      btrfs_insert_empty_item fs/btrfs/ctree.h:669 [inline]\\n      btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23\\n      btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482\\n      btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293\\n      vfs_unlink+0x365/0x650 fs/namei.c:4469\\n      do_unlinkat+0x4ae/0x830 fs/namei.c:4533\\n      __do_sys_unlinkat fs/namei.c:4576 [inline]\\n      __se_sys_unlinkat fs/namei.c:4569 [inline]\\n      __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569\\n      do_syscall_x64 arch/x86/entry/common.c:52 [inline]\\n      do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83\\n      entry_SYSCALL_64_after_hwframe+0x77/0x7f\\n   BTRFS error (device loop0 state EA):   Ref action 1, root 5, ref_root 5, parent 0, owner 260, offset 0, num_refs 1\\n      __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521\\n      update_ref_for_cow+0x96a/0x11f0\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\\n      btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [inline]\\n      __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137\\n      __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171\\n      btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313\\n      prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586\\n      relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611\\n      btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081\\n      btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377\\n      __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161\\n      btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538\\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\\n      btrfs_update_delayed_i\\n---truncated---\"}, {\"lang\": \"es\", \"value\": \"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs: ref-verify: corrige use-after-free despu\\u00e9s de una acci\\u00f3n de referencia no v\\u00e1lida En btrfs_ref_tree_mod() despu\\u00e9s de que insertamos exitosamente la nueva entrada de referencia (variable local \u0027ref\u0027) en el rbtree de la entrada de bloque respectiva (variable local \u0027be\u0027), si encontramos una acci\\u00f3n inesperada de BTRFS_DROP_DELAYED_REF, generamos un error y liberamos la entrada de referencia sin eliminarla del rbtree de la entrada de bloque. Luego, en la ruta de error de btrfs_ref_tree_mod(), llamamos a btrfs_free_ref_cache(), que itera sobre todas las entradas de bloque y luego llama a free_block_entry() para cada una, y all\\u00ed activaremos un use-after-free cuando se nos llame contra la entrada de bloque a la que agregamos la entrada de referencia liberada a su rbtree, ya que el rbtree todav\\u00eda apunta a la entrada de bloque, ya que no la eliminamos del rbtree antes de liberarla en la ruta de error en btrfs_ref_tree_mod(). Solucione esto eliminando la nueva entrada de referencia del rbtree antes de liberarla. Syzbot informa esto con los siguientes seguimientos de pila: Error BTRFS (estado EA del bucle0 del dispositivo): Ref acci\\u00f3n 2, ra\\u00edz 5, ref_root 0, padre 8564736, propietario 0, desplazamiento 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314 btrfs_insert_empty_item fs/btrfs/ctree.h:669 [en l\\u00ednea] btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23 btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482 btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293 vfs_unlink+0x365/0x650 fs/namei.c:4469 do_unlinkat+0x4ae/0x830 fs/namei.c:4533 __do_sys_unlinkat fs/namei.c:4576 [en l\\u00ednea] __se_sys_unlinkat fs/namei.c:4569 [en l\\u00ednea] __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569 do_syscall_x64 arch/x86/entry/common.c:52 [en l\\u00ednea] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Error BTRFS (estado del dispositivo loop0 EA): Ref acci\\u00f3n 1, ra\\u00edz 5, ref_root 5, padre 0, propietario 260, desplazamiento 0, n\\u00fam_refs 1 __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521 actualizaci\\u00f3n_ref_para_vaca+0x96a/0x11f0 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [en l\\u00ednea] __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137 __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171 btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313 prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586 relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611 btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081 btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377 __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161 btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538 Error BTRFS (estado del dispositivo loop0 EA): Acci\\u00f3n de referencia 2, ra\\u00edz 5, ref_root 0, padre 8564736, propietario 0, desplazamiento 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 actualizaci\\u00f3n_ref_para_vaca+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_i ---truncado---\"}]",
      "id": "CVE-2024-56581",
      "lastModified": "2024-12-27T15:15:17.207",
      "published": "2024-12-27T15:15:17.207",
      "references": "[{\"url\": \"https://git.kernel.org/stable/c/4275ac2741941c9c7c2293619fdbacb9f70ba85b\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/6370db28af9a8ae3bbdfe97f8a48f8f995e144cf\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/6fd018aa168e472ce35be32296d109db6adb87ea\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/7c4e39f9d2af4abaf82ca0e315d1fd340456620f\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/a6f9e7a0bf1185c9070c0de03bb85eafb9abd650\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/d2b85ce0561fde894e28fa01bd5d32820d585006\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}, {\"url\": \"https://git.kernel.org/stable/c/dfb9fe7de61f34cc241ab3900bdde93341096e0e\", \"source\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]",
      "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "vulnStatus": "Undergoing Analysis"
    },
    "microsoft_vex": {
      "current_release_date": "2026-02-19T01:48:32.000Z",
      "cve": "CVE-2024-56581",
      "id": "msrc_CVE-2024-56581",
      "initial_release_date": "2024-12-02T00:00:00.000Z",
      "product_status:fixed": "4",
      "product_status:known_affected": "4",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "btrfs: ref-verify: fix use-after-free after invalid ref action",
      "url": "https://msrc.microsoft.com/csaf/vex/2024/msrc_cve-2024-56581.json",
      "version": "3"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-56581\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-12-27T15:15:17.207\",\"lastModified\":\"2026-08-04T11:22:11.630\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: ref-verify: fix use-after-free after invalid ref action\\n\\nAt btrfs_ref_tree_mod() after we successfully inserted the new ref entry\\n(local variable \u0027ref\u0027) into the respective block entry\u0027s rbtree (local\\nvariable \u0027be\u0027), if we find an unexpected action of BTRFS_DROP_DELAYED_REF,\\nwe error out and free the ref entry without removing it from the block\\nentry\u0027s rbtree. Then in the error path of btrfs_ref_tree_mod() we call\\nbtrfs_free_ref_cache(), which iterates over all block entries and then\\ncalls free_block_entry() for each one, and there we will trigger a\\nuse-after-free when we are called against the block entry to which we\\nadded the freed ref entry to its rbtree, since the rbtree still points\\nto the block entry, as we didn\u0027t remove it from the rbtree before freeing\\nit in the error path at btrfs_ref_tree_mod(). Fix this by removing the\\nnew ref entry from the rbtree before freeing it.\\n\\nSyzbot report this with the following stack traces:\\n\\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314\\n      btrfs_insert_empty_item fs/btrfs/ctree.h:669 [inline]\\n      btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23\\n      btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482\\n      btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293\\n      vfs_unlink+0x365/0x650 fs/namei.c:4469\\n      do_unlinkat+0x4ae/0x830 fs/namei.c:4533\\n      __do_sys_unlinkat fs/namei.c:4576 [inline]\\n      __se_sys_unlinkat fs/namei.c:4569 [inline]\\n      __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569\\n      do_syscall_x64 arch/x86/entry/common.c:52 [inline]\\n      do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83\\n      entry_SYSCALL_64_after_hwframe+0x77/0x7f\\n   BTRFS error (device loop0 state EA):   Ref action 1, root 5, ref_root 5, parent 0, owner 260, offset 0, num_refs 1\\n      __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521\\n      update_ref_for_cow+0x96a/0x11f0\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\\n      btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [inline]\\n      __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137\\n      __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171\\n      btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313\\n      prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586\\n      relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611\\n      btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081\\n      btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377\\n      __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161\\n      btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538\\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\\n      btrfs_update_delayed_i\\n---truncated---\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: btrfs: ref-verify: corrige use-after-free despu\u00e9s de una acci\u00f3n de referencia no v\u00e1lida En btrfs_ref_tree_mod() despu\u00e9s de que insertamos exitosamente la nueva entrada de referencia (variable local \u0027ref\u0027) en el rbtree de la entrada de bloque respectiva (variable local \u0027be\u0027), si encontramos una acci\u00f3n inesperada de BTRFS_DROP_DELAYED_REF, generamos un error y liberamos la entrada de referencia sin eliminarla del rbtree de la entrada de bloque. Luego, en la ruta de error de btrfs_ref_tree_mod(), llamamos a btrfs_free_ref_cache(), que itera sobre todas las entradas de bloque y luego llama a free_block_entry() para cada una, y all\u00ed activaremos un use-after-free cuando se nos llame contra la entrada de bloque a la que agregamos la entrada de referencia liberada a su rbtree, ya que el rbtree todav\u00eda apunta a la entrada de bloque, ya que no la eliminamos del rbtree antes de liberarla en la ruta de error en btrfs_ref_tree_mod(). Solucione esto eliminando la nueva entrada de referencia del rbtree antes de liberarla. Syzbot informa esto con los siguientes seguimientos de pila: Error BTRFS (estado EA del bucle0 del dispositivo): Ref acci\u00f3n 2, ra\u00edz 5, ref_root 0, padre 8564736, propietario 0, desplazamiento 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314 btrfs_insert_empty_item fs/btrfs/ctree.h:669 [en l\u00ednea] btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23 btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482 btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293 vfs_unlink+0x365/0x650 fs/namei.c:4469 do_unlinkat+0x4ae/0x830 fs/namei.c:4533 __do_sys_unlinkat fs/namei.c:4576 [en l\u00ednea] __se_sys_unlinkat fs/namei.c:4569 [en l\u00ednea] __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569 do_syscall_x64 arch/x86/entry/common.c:52 [en l\u00ednea] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f Error BTRFS (estado del dispositivo loop0 EA): Ref acci\u00f3n 1, ra\u00edz 5, ref_root 5, padre 0, propietario 260, desplazamiento 0, n\u00fam_refs 1 __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521 actualizaci\u00f3n_ref_para_vaca+0x96a/0x11f0 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [en l\u00ednea] __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137 __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171 btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313 prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586 relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611 btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081 btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377 __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161 btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538 Error BTRFS (estado del dispositivo loop0 EA): Acci\u00f3n de referencia 2, ra\u00edz 5, ref_root 0, padre 8564736, propietario 0, desplazamiento 0, num_refs 18446744073709551615 __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523 actualizaci\u00f3n_ref_para_vaca+0x9cd/0x11f0 fs/btrfs/ctree.c:512 btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594 btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754 btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116 btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411 __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030 btrfs_update_delayed_i ---truncado---\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"fs/btrfs/ref-verify.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"dfb9fe7de61f34cc241ab3900bdde93341096e0e\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"6fd018aa168e472ce35be32296d109db6adb87ea\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"d2b85ce0561fde894e28fa01bd5d32820d585006\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"6370db28af9a8ae3bbdfe97f8a48f8f995e144cf\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"4275ac2741941c9c7c2293619fdbacb9f70ba85b\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"a6f9e7a0bf1185c9070c0de03bb85eafb9abd650\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"fd708b81d972a0714b02a60eb4792fdbf15868c4\",\"lessThan\":\"7c4e39f9d2af4abaf82ca0e315d1fd340456620f\",\"versionType\":\"git\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"fs/btrfs/ref-verify.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"4.15\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"4.15\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.4.287\",\"lessThanOrEqual\":\"5.4.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.10.231\",\"lessThanOrEqual\":\"5.10.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"5.15.174\",\"lessThanOrEqual\":\"5.15.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.1.120\",\"lessThanOrEqual\":\"6.1.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.64\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.4\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.13\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.0,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.0,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2025-02-11T15:42:39.280771Z\",\"id\":\"CVE-2024-56581\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"4.15\",\"versionEndExcluding\":\"5.4.287\",\"matchCriteriaId\":\"3B88B3CC-D264-4F47-A543-C7C84926AE08\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.5\",\"versionEndExcluding\":\"5.10.231\",\"matchCriteriaId\":\"B5C644CC-2BD7-4E32-BC54-8DCC7ABE9935\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.11\",\"versionEndExcluding\":\"5.15.174\",\"matchCriteriaId\":\"419FD073-1517-4FD5-8158-F94BC68A1E89\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"5.16\",\"versionEndExcluding\":\"6.1.120\",\"matchCriteriaId\":\"09AC6122-E2A4-40FE-9D33-268A1B2EC265\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.2\",\"versionEndExcluding\":\"6.6.64\",\"matchCriteriaId\":\"CA16DEE3-ABEC-4449-9F4A-7A3DC4FC36C7\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.4\",\"matchCriteriaId\":\"04756810-D093-4B43-B1D9-CF5035968061\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"62567B3C-6CEE-46D0-BC2E-B3717FBF7D13\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/4275ac2741941c9c7c2293619fdbacb9f70ba85b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6370db28af9a8ae3bbdfe97f8a48f8f995e144cf\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/6fd018aa168e472ce35be32296d109db6adb87ea\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/7c4e39f9d2af4abaf82ca0e315d1fd340456620f\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/a6f9e7a0bf1185c9070c0de03bb85eafb9abd650\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/d2b85ce0561fde894e28fa01bd5d32820d585006\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/dfb9fe7de61f34cc241ab3900bdde93341096e0e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"},{\"url\":\"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html\",\"source\":\"af854a3a-2127-422b-91ae-364da2661108\"}]}}",
    "redhat_vex": {
      "aggregate_severity": "Important",
      "current_release_date": "2026-08-04T11:06:21+00:00",
      "cve": "CVE-2024-56581",
      "id": "CVE-2024-56581",
      "initial_release_date": "2024-12-27T00:00:00+00:00",
      "product_status:known_not_affected": "198",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: btrfs: ref-verify: fix use-after-free after invalid ref action",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2024/cve-2024-56581.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-31T01:24:39Z",
      "cve": "CVE-2024-56581",
      "id": "CVE-2024-56581",
      "initial_release_date": "2024-12-28T03:48:27Z",
      "product_status:known_affected": "267",
      "product_status:known_not_affected": "300",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2024-56581",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2024-56581.json",
      "version": "35"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html\"}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html\"}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2025-11-03T20:49:58.257Z\"}}, {\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.8, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-56581\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-02-11T15:42:39.280771Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-416\", \"description\": \"CWE-416 Use After Free\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-02-11T15:42:40.932Z\"}}], \"cna\": {\"title\": \"btrfs: ref-verify: fix use-after-free after invalid ref action\", \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"dfb9fe7de61f34cc241ab3900bdde93341096e0e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"6fd018aa168e472ce35be32296d109db6adb87ea\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"d2b85ce0561fde894e28fa01bd5d32820d585006\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"6370db28af9a8ae3bbdfe97f8a48f8f995e144cf\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"4275ac2741941c9c7c2293619fdbacb9f70ba85b\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"a6f9e7a0bf1185c9070c0de03bb85eafb9abd650\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"fd708b81d972a0714b02a60eb4792fdbf15868c4\", \"lessThan\": \"7c4e39f9d2af4abaf82ca0e315d1fd340456620f\", \"versionType\": \"git\"}], \"programFiles\": [\"fs/btrfs/ref-verify.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"4.15\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"4.15\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.4.287\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.4.*\"}, {\"status\": \"unaffected\", \"version\": \"5.10.231\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.174\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.120\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.64\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.4\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.13\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/btrfs/ref-verify.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/dfb9fe7de61f34cc241ab3900bdde93341096e0e\"}, {\"url\": \"https://git.kernel.org/stable/c/6fd018aa168e472ce35be32296d109db6adb87ea\"}, {\"url\": \"https://git.kernel.org/stable/c/d2b85ce0561fde894e28fa01bd5d32820d585006\"}, {\"url\": \"https://git.kernel.org/stable/c/6370db28af9a8ae3bbdfe97f8a48f8f995e144cf\"}, {\"url\": \"https://git.kernel.org/stable/c/4275ac2741941c9c7c2293619fdbacb9f70ba85b\"}, {\"url\": \"https://git.kernel.org/stable/c/a6f9e7a0bf1185c9070c0de03bb85eafb9abd650\"}, {\"url\": \"https://git.kernel.org/stable/c/7c4e39f9d2af4abaf82ca0e315d1fd340456620f\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nbtrfs: ref-verify: fix use-after-free after invalid ref action\\n\\nAt btrfs_ref_tree_mod() after we successfully inserted the new ref entry\\n(local variable \u0027ref\u0027) into the respective block entry\u0027s rbtree (local\\nvariable \u0027be\u0027), if we find an unexpected action of BTRFS_DROP_DELAYED_REF,\\nwe error out and free the ref entry without removing it from the block\\nentry\u0027s rbtree. Then in the error path of btrfs_ref_tree_mod() we call\\nbtrfs_free_ref_cache(), which iterates over all block entries and then\\ncalls free_block_entry() for each one, and there we will trigger a\\nuse-after-free when we are called against the block entry to which we\\nadded the freed ref entry to its rbtree, since the rbtree still points\\nto the block entry, as we didn\u0027t remove it from the rbtree before freeing\\nit in the error path at btrfs_ref_tree_mod(). Fix this by removing the\\nnew ref entry from the rbtree before freeing it.\\n\\nSyzbot report this with the following stack traces:\\n\\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_insert_empty_items+0x9c/0x1a0 fs/btrfs/ctree.c:4314\\n      btrfs_insert_empty_item fs/btrfs/ctree.h:669 [inline]\\n      btrfs_insert_orphan_item+0x1f1/0x320 fs/btrfs/orphan.c:23\\n      btrfs_orphan_add+0x6d/0x1a0 fs/btrfs/inode.c:3482\\n      btrfs_unlink+0x267/0x350 fs/btrfs/inode.c:4293\\n      vfs_unlink+0x365/0x650 fs/namei.c:4469\\n      do_unlinkat+0x4ae/0x830 fs/namei.c:4533\\n      __do_sys_unlinkat fs/namei.c:4576 [inline]\\n      __se_sys_unlinkat fs/namei.c:4569 [inline]\\n      __x64_sys_unlinkat+0xcc/0xf0 fs/namei.c:4569\\n      do_syscall_x64 arch/x86/entry/common.c:52 [inline]\\n      do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83\\n      entry_SYSCALL_64_after_hwframe+0x77/0x7f\\n   BTRFS error (device loop0 state EA):   Ref action 1, root 5, ref_root 5, parent 0, owner 260, offset 0, num_refs 1\\n      __btrfs_mod_ref+0x76b/0xac0 fs/btrfs/extent-tree.c:2521\\n      update_ref_for_cow+0x96a/0x11f0\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\\n      btrfs_update_delayed_inode fs/btrfs/delayed-inode.c:1114 [inline]\\n      __btrfs_commit_inode_delayed_items+0x2318/0x24a0 fs/btrfs/delayed-inode.c:1137\\n      __btrfs_run_delayed_items+0x213/0x490 fs/btrfs/delayed-inode.c:1171\\n      btrfs_commit_transaction+0x8a8/0x3740 fs/btrfs/transaction.c:2313\\n      prepare_to_relocate+0x3c4/0x4c0 fs/btrfs/relocation.c:3586\\n      relocate_block_group+0x16c/0xd40 fs/btrfs/relocation.c:3611\\n      btrfs_relocate_block_group+0x77d/0xd90 fs/btrfs/relocation.c:4081\\n      btrfs_relocate_chunk+0x12c/0x3b0 fs/btrfs/volumes.c:3377\\n      __btrfs_balance+0x1b0f/0x26b0 fs/btrfs/volumes.c:4161\\n      btrfs_balance+0xbdc/0x10c0 fs/btrfs/volumes.c:4538\\n   BTRFS error (device loop0 state EA):   Ref action 2, root 5, ref_root 0, parent 8564736, owner 0, offset 0, num_refs 18446744073709551615\\n      __btrfs_mod_ref+0x7dd/0xac0 fs/btrfs/extent-tree.c:2523\\n      update_ref_for_cow+0x9cd/0x11f0 fs/btrfs/ctree.c:512\\n      btrfs_force_cow_block+0x9f6/0x1da0 fs/btrfs/ctree.c:594\\n      btrfs_cow_block+0x35e/0xa40 fs/btrfs/ctree.c:754\\n      btrfs_search_slot+0xbdd/0x30d0 fs/btrfs/ctree.c:2116\\n      btrfs_lookup_inode+0xdc/0x480 fs/btrfs/inode-item.c:411\\n      __btrfs_update_delayed_inode+0x1e7/0xb90 fs/btrfs/delayed-inode.c:1030\\n      btrfs_update_delayed_i\\n---truncated---\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.4.287\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.231\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.174\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.120\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.64\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.4\", \"versionStartIncluding\": \"4.15\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.13\", \"versionStartIncluding\": \"4.15\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2025-05-04T09:58:58.116Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-56581\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-11-03T20:49:58.257Z\", \"dateReserved\": \"2024-12-27T14:03:06.000Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-12-27T14:23:23.193Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…