net: rose: fix timer races against user threads
- 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 5.4.291, 5.10.235, 5.15.179, 6.1.129, 6.6.76, 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
Summary
In the Linux kernel, the following vulnerability has been resolved: net: rose: fix timer races against user threads Rose timers only acquire the socket spinlock, without checking if the socket is owned by one user thread. Add a check and rearm the timers if needed. BUG: KASAN: slab-use-after-free in rose_timer_expiry+0x31d/0x360 net/rose/rose_timer.c:174 Read of size 2 at addr ffff88802f09b82a by task swapper/0/0 CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 6.13.0-rc5-syzkaller-00172-gd1bf27c4e176 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: <IRQ> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 rose_timer_expiry+0x31d/0x360 net/rose/rose_timer.c:174 call_timer_fn+0x187/0x650 kernel/time/timer.c:1793 expire_timers kernel/time/timer.c:1844 [inline] __run_timers kernel/time/timer.c:2418 [inline] __run_timer_base+0x66a/0x8e0 kernel/time/timer.c:2430 run_timer_base kernel/time/timer.c:2439 [inline] run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2449 handle_softirqs+0x2d4/0x9b0 kernel/softirq.c:561 __do_softirq kernel/softirq.c:595 [inline] invoke_softirq kernel/softirq.c:435 [inline] __irq_exit_rcu+0xf7/0x220 kernel/softirq.c:662 irq_exit_rcu+0x9/0x30 kernel/softirq.c:678 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline] sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049 </IRQ>
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 52f5aff33ca73b2c2fa93f40a3de308012e63cf4; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 0d5bca3be27bfcf8f980f2fed49b6cbb7dafe4a1; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 1409b45d4690308c502c6caf22f01c3c205b4717; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in f55c88e3ca5939a6a8a329024aed8f3d98eea8e4; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 51c128ba038cf1b79d605cbee325919b45ab95a5; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 1992fb261c90e9827cf5dc3115d89bb0853252c9; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 58051a284ac18a3bb815aac6289a679903ddcc3f; From 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 · fixed in 5de7665e0a0746b5ad7943554b34db8f8614a196
- Linux Linux
2.6.12
- KernelLinux
From 2.6.12 · fixed in 5.4.291; From 5.5.0 · fixed in 5.10.235; From 5.11.0 · fixed in 5.15.179; From 5.16.0 · fixed in 6.1.129; From 6.2.0 · fixed in 6.6.76; From 6.7.0 · fixed in 6.12.13; From 6.13.0 · fixed in 6.13.2
References 8
git.kernel.org
- stable/c/52f5aff33ca73b2c2fa93f40a3de308012e63cf4
- stable/c/0d5bca3be27bfcf8f980f2fed49b6cbb7dafe4a1
- stable/c/1409b45d4690308c502c6caf22f01c3c205b4717
- stable/c/f55c88e3ca5939a6a8a329024aed8f3d98eea8e4
- stable/c/51c128ba038cf1b79d605cbee325919b45ab95a5
- stable/c/1992fb261c90e9827cf5dc3115d89bb0853252c9
- stable/c/58051a284ac18a3bb815aac6289a679903ddcc3f
- stable/c/5de7665e0a0746b5ad7943554b34db8f8614a196