Bluetooth: Fix race condition in hidp_session_thread
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 4.14.313, 4.19.281, 5.4.241, 5.10.178, 5.15.108, and 2 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: Fix race condition in hidp_session_thread There is a potential race condition in hidp_session_thread that may lead to use-after-free. For instance, the timer is active while hidp_del_timer is called in hidp_session_thread(). After hidp_session_put, then 'session' will be freed, causing kernel panic when hidp_idle_timeout is running. The solution is to use del_timer_sync instead of del_timer. Here is the call trace: ? hidp_session_probe+0x780/0x780 call_timer_fn+0x2d/0x1e0 __run_timers.part.0+0x569/0x940 hidp_session_probe+0x780/0x780 call_timer_fn+0x1e0/0x1e0 ktime_get+0x5c/0xf0 lapic_next_deadline+0x2c/0x40 clockevents_program_event+0x205/0x320 run_timer_softirq+0xa9/0x1b0 __do_softirq+0x1b9/0x641 __irq_exit_rcu+0xdc/0x190 irq_exit_rcu+0xe/0x20 sysvec_apic_timer_interrupt+0xa1/0xc0
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 152f47bd6b995e0e98c85672f6d19894bc287ef2; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 5f3d214d19899183d4e0cce7552998262112e4ab; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 8a99e6200c38b78a45dcd12a6bdc43fdf4dc36be; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in f7ec5ca433ceead8d9d78fd2febff094f289441d; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 0efb276d5848a3accc37c6f41b85e442c4768169; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in f6719fd8f409fa1da8dc956e93822d25e1e8b360; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 248af9feca062a4ca9c3f2ccf67056c8a5eb817f; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in c95930abd687fcd1aa040dc4fe90dff947916460
- Linux Linux
2.6.12
- KernelLinux
From 2.6.12 · fixed in 4.14.313; From 4.15.0 · fixed in 4.19.281; From 4.20.0 · fixed in 5.4.241; From 5.5.0 · fixed in 5.10.178; From 5.11.0 · fixed in 5.15.108; From 5.16.0 · fixed in 6.1.25; From 6.2.0 · fixed in 6.2.12
References 8
git.kernel.org
- stable/c/152f47bd6b995e0e98c85672f6d19894bc287ef2
- stable/c/5f3d214d19899183d4e0cce7552998262112e4ab
- stable/c/8a99e6200c38b78a45dcd12a6bdc43fdf4dc36be
- stable/c/f7ec5ca433ceead8d9d78fd2febff094f289441d
- stable/c/0efb276d5848a3accc37c6f41b85e442c4768169
- stable/c/f6719fd8f409fa1da8dc956e93822d25e1e8b360
- stable/c/248af9feca062a4ca9c3f2ccf67056c8a5eb817f
- stable/c/c95930abd687fcd1aa040dc4fe90dff947916460