Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 64c7ddda83acfbaa0efb381a1928ce908c584607 before c2d59527cba6d59f0d77a75c1101ab4e69758bea; affected 0bd151ce4200ca847990e05cca29a76456982ca5 before d2a675f2e238ec96c8e91e2718c1f910c9c8fb21; affected 190d5a7c4fe42b8c9aa46e3336389e7cb10395bb before 14b22be1dd844383eb03af9b1ee3b6b25d32aeaf; affected f92ee31e031c7819126d2febdda0c3e91f5d2eb9 before dfd05a16b5c9d1d98b47905f37f2fccda52173d1; affected f92ee31e031c7819126d2febdda0c3e91f5d2eb9 before 259af6857a1b4f1e9ef8b780353f9d11c26a22bd; affected f92ee31e031c7819126d2febdda0c3e91f5d2eb9 before a7449edf96143f192606ec8647e3167e1ecbd728; affected 6.1.162 before 6.1.176; affected 6.6.122 before 6.6.141; affected 6.12.67 before 6.12.90 |
| Linux / Linux | affected 6.16; unaffected 0 before 6.16; unaffected 6.1.176 through 6.1.*; unaffected 6.6.141 through 6.6.*; unaffected 6.12.90 through 6.12.*; unaffected 6.18.32 through 6.18.*; unaffected 7.0.7 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.
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