CVE-2024-44963

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-44963
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-44963.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-44963
Downstream
Related
Published
2024-09-04T18:36:00.948Z
Modified
2025-11-28T02:35:36.061167Z
Summary
btrfs: do not BUG_ON() when freeing tree block after error
Details

In the Linux kernel, the following vulnerability has been resolved:

btrfs: do not BUG_ON() when freeing tree block after error

When freeing a tree block, at btrfsfreetreeblock(), if we fail to create a delayed reference we don't deal with the error and just do a BUGON(). The error most likely to happen is -ENOMEM, and we have a comment mentioning that only -ENOMEM can happen, but that is not true, because in case qgroups are enabled any error returned from btrfsqgrouptraceextentpost() (can be -EUCLEAN or anything returned from btrfssearchslot() for example) can be propagated back to btrfsfreetree_block().

So stop doing a BUG_ON() and return the error to the callers and make them abort the transaction to prevent leaking space. Syzbot was triggering this, likely due to memory allocation failure injection.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/44xxx/CVE-2024-44963.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Fixed
22d907bcd283d69d5e60497fc0d51969545c583b
Fixed
98251cd60b4d702a8a81de442ab621e83a3fb24f
Fixed
bb3868033a4cccff7be57e9145f2117cbdc91c11

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.6.64
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.5