In the Linux kernel, the following vulnerability has been resolved:
module: ensure that kobject_put() is safe for module type kobjects
In 'lookup_or_create_module_kobject()', an internal kobject is created using 'module_ktype'. So call to 'kobject_put()' on error handling path causes an attempt to use an uninitialized completion pointer in 'module_kobject_release()'. In this scenario, we just want to release kobject without an extra synchronization required for a regular module unloading process, so adding an extra check whether 'complete()' is actually required makes 'kobject_put()' safe.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 3.12 | 5.4.294 |
| linux / linux_kernel | 5.5 | 5.10.238 |
| linux / linux_kernel | 5.11 | 5.15.183 |
| linux / linux_kernel | 5.16 | 6.1.139 |
| linux / linux_kernel | 6.2 | 6.6.91 |
| linux / linux_kernel | 6.7 | 6.12.29 |
| linux / linux_kernel | 6.13 | 6.14.7 |
| linux / linux_kernel | 6.15-rc1 | 6.15-rc1.x |
| linux / linux_kernel | 6.15-rc2 | 6.15-rc2.x |
| linux / linux_kernel | 6.15-rc3 | 6.15-rc3.x |
| linux / linux_kernel | 6.15-rc4 | 6.15-rc4.x |
| linux / linux_kernel | 6.15-rc5 | 6.15-rc5.x |
| debian / debian_linux | 11.0 | 11.0.x |