CVE-2026-46164
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
btrfs: fix double free in create_space_info_sub_group() error path
When kobject_init_and_add() fails, the call chain is:
create_space_info_sub_group() -> btrfs_sysfs_add_space_info_type() -> kobject_init_and_add() -> failure -> kobject_put(&sub_group->kobj) -> space_info_release() -> kfree(sub_group)
Then control returns to create_space_info_sub_group(), where:
btrfs_sysfs_add_space_info_type() returns error -> kfree(sub_group)
Thus, sub_group is freed twice.
Keep parent->sub_group[index] = NULL for the failure path, but after btrfs_sysfs_add_space_info_type() has called kobject_put(), let the kobject release callback handle the cleanup.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 64c7ddda83acfbaa0efb381a1928ce908c584607 < c2d59527cba6d59f0d77a75c1101ab4e69758bea | affected |
| Linux | Linux | 0bd151ce4200ca847990e05cca29a76456982ca5 < d2a675f2e238ec96c8e91e2718c1f910c9c8fb21 | affected |
| Linux | Linux | 190d5a7c4fe42b8c9aa46e3336389e7cb10395bb < 14b22be1dd844383eb03af9b1ee3b6b25d32aeaf | affected |
| Linux | Linux | f92ee31e031c7819126d2febdda0c3e91f5d2eb9 < dfd05a16b5c9d1d98b47905f37f2fccda52173d1 | affected |
| Linux | Linux | f92ee31e031c7819126d2febdda0c3e91f5d2eb9 < 259af6857a1b4f1e9ef8b780353f9d11c26a22bd | affected |
| Linux | Linux | f92ee31e031c7819126d2febdda0c3e91f5d2eb9 < a7449edf96143f192606ec8647e3167e1ecbd728 | affected |
| Linux | Linux | 6.1.162 < 6.1.176 | affected |
| Linux | Linux | 6.6.122 < 6.6.141 | affected |
| Linux | Linux | 6.12.67 < 6.12.90 | affected |
| Linux | Linux | 6.16 | affected |
| Linux | Linux | 0 < 6.16 | unaffected |
| Linux | Linux | 6.1.176 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.141 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.90 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.32 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.7 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/c2d59527cba6d59f0d77a75c1101ab4e69758bea
- https://git.kernel.org/stable/c/d2a675f2e238ec96c8e91e2718c1f910c9c8fb21
- https://git.kernel.org/stable/c/14b22be1dd844383eb03af9b1ee3b6b25d32aeaf
- https://git.kernel.org/stable/c/dfd05a16b5c9d1d98b47905f37f2fccda52173d1
- https://git.kernel.org/stable/c/259af6857a1b4f1e9ef8b780353f9d11c26a22bd
- https://git.kernel.org/stable/c/a7449edf96143f192606ec8647e3167e1ecbd728
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.