Medium · published November 7, 2024
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: bnep: fix wild-memory-access in proto_unregister
There's issue as follows:
KASAN: maybe wild-memory-access in range [0xdead...108-0xdead...10f]
CPU: 3 UID: 0 PID: 2805 Comm: rmmod Tainted: G W
RIP: 0010:proto_unregister+0xee/0x400
Call Trace:
<TASK>
__do_sys_delete_module+0x318/0x580
do_syscall_64+0xc1/0x1d0
entry_SYSCALL_64_after_hwframe+0x77/0x7f
As bnep_init() ignore bnep_sock_init()'s return value, and bnep_sock_init()
will cleanup all resource. Then when remove bnep module will call
bnep_sock_cleanup() to cleanup sock's resource.
To solve above issue just return bnep_sock_init()'s return value in
bnep_exit().
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 2.6.12, < 4.19.323 | 4.19.323 |
| linux/linux_kernel | ≥ 4.20, < 5.4.285 | 5.4.285 |
| linux/linux_kernel | ≥ 5.5, < 5.10.229 | 5.10.229 |
| linux/linux_kernel | ≥ 5.11, < 5.15.170 | 5.15.170 |
| linux/linux_kernel | ≥ 5.16, < 6.1.115 | 6.1.115 |
| linux/linux_kernel | ≥ 6.2, < 6.6.59 | 6.6.59 |
| linux/linux_kernel | ≥ 6.7, < 6.11.6 | 6.11.6 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |