Medium · published May 1, 2024
In the Linux kernel, the following vulnerability has been resolved:
fs: sysfs: Fix reference leak in sysfs_break_active_protection()
The sysfs_break_active_protection() routine has an obvious reference
leak in its error path. If the call to kernfs_find_and_get() fails then
kn will be NULL, so the companion sysfs_unbreak_active_protection()
routine won't get called (and would only cause an access violation by
trying to dereference kn->parent if it was called). As a result, the
reference to kobj acquired at the start of the function will never be
released.
Fix the leak by adding an explicit kobject_put() call when kn is NULL.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 3.16.62, < 3.17 | 3.17 |
| linux/linux_kernel | ≥ 3.18.121, < 3.19 | 3.19 |
| linux/linux_kernel | ≥ 4.4.154, < 4.5 | 4.5 |
| linux/linux_kernel | ≥ 4.9.125, < 4.10 | 4.10 |
| linux/linux_kernel | ≥ 4.14.68, < 4.15 | 4.15 |
| linux/linux_kernel | ≥ 4.18.6, < 4.19 | 4.19 |
| linux/linux_kernel | ≥ 4.19, < 5.15.157 | 5.15.157 |
| linux/linux_kernel | ≥ 5.16, < 6.1.88 | 6.1.88 |
| linux/linux_kernel | ≥ 6.2, < 6.6.29 | 6.6.29 |
| linux/linux_kernel | ≥ 6.7, < 6.8.8 | 6.8.8 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |