syzbot


KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user

Status: auto-obsoleted due to no activity on 2022/11/12 22:39
Subsystems: kernel
[Documentation on labels]
First crash: 1153d, last: 1109d
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user (2) kernel 18 C 3549 16h27m 677d 0/29 upstream: reported C repro on 2023/10/21 18:49

Sample crash report:
=====================================================
BUG: KMSAN: kernel-infoleak-after-free in instrument_copy_to_user include/linux/instrumented.h:121 [inline]
BUG: KMSAN: kernel-infoleak-after-free in _copy_to_user+0xbc/0x100 lib/usercopy.c:33
 instrument_copy_to_user include/linux/instrumented.h:121 [inline]
 _copy_to_user+0xbc/0x100 lib/usercopy.c:33
 copy_to_user include/linux/uaccess.h:169 [inline]
 copy_siginfo_to_user+0x3b/0x140 kernel/signal.c:3325
 __setup_rt_frame+0x140c/0x2040 arch/x86/kernel/signal.c:491
 setup_rt_frame arch/x86/kernel/signal.c:782 [inline]
 handle_signal arch/x86/kernel/signal.c:826 [inline]
 arch_do_signal_or_restart+0x344/0xae0 arch/x86/kernel/signal.c:871
 exit_to_user_mode_loop+0xea/0x320 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x16e/0x220 kernel/entry/common.c:203
 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
 syscall_exit_to_user_mode+0x23/0x40 kernel/entry/common.c:296
 do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Uninit was stored to memory at:
 copy_siginfo include/linux/signal.h:17 [inline]
 collect_signal kernel/signal.c:590 [inline]
 __dequeue_signal+0x56d/0xa80 kernel/signal.c:619
 dequeue_signal+0x168/0xba0 kernel/signal.c:642
 get_signal+0xc96/0x2c50 kernel/signal.c:2737
 arch_do_signal_or_restart+0x56/0xae0 arch/x86/kernel/signal.c:869
 exit_to_user_mode_loop+0xea/0x320 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x16e/0x220 kernel/entry/common.c:203
 __syscall_exit_to_user_mode_work kernel/entry/common.c:285 [inline]
 syscall_exit_to_user_mode+0x23/0x40 kernel/entry/common.c:296
 do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Uninit was created at:
 slab_free_hook mm/slub.c:1739 [inline]
 slab_free_freelist_hook+0x1b8/0x650 mm/slub.c:1795
 slab_free mm/slub.c:3551 [inline]
 kmem_cache_free+0x279/0xa40 mm/slub.c:3568
 __sigqueue_free kernel/signal.c:458 [inline]
 collect_signal kernel/signal.c:597 [inline]
 __dequeue_signal+0xa1a/0xa80 kernel/signal.c:619
 dequeue_signal+0x168/0xba0 kernel/signal.c:642
 signalfd_dequeue fs/signalfd.c:163 [inline]
 signalfd_read+0x22c/0x1160 fs/signalfd.c:217
 vfs_read+0x3a9/0x11b0 fs/read_write.c:480
 ksys_read+0x21b/0x4e0 fs/read_write.c:620
 __do_sys_read fs/read_write.c:630 [inline]
 __se_sys_read fs/read_write.c:628 [inline]
 __x64_sys_read+0x8f/0xd0 fs/read_write.c:628
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Bytes 12-15 of 48 are uninitialized
Memory access of size 48 starts at ffff88810e40fe10
Data copied to user address 000000c002bd7bf0

CPU: 1 PID: 4214 Comm: syz-fuzzer Not tainted 5.19.0-syzkaller-32655-g1b070a5d1a2c #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022
=====================================================

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/08/14 22:33 https://github.com/google/kmsan.git master 1b070a5d1a2c 8dfcaa3d .config console log report info ci-upstream-kmsan-gce-386 KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user
2022/08/09 06:39 https://github.com/google/kmsan.git master 1b070a5d1a2c da700653 .config console log report info ci-upstream-kmsan-gce-386 KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user
2022/07/11 07:50 https://github.com/google/kmsan.git master 97117d69c353 b5765a15 .config console log report info ci-upstream-kmsan-gce-386 KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user
2022/07/08 04:11 https://github.com/google/kmsan.git master 97117d69c353 bff65f44 .config console log report info ci-upstream-kmsan-gce-386 KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user
2022/07/05 09:15 https://github.com/google/kmsan.git master 97117d69c353 bff65f44 .config console log report info ci-upstream-kmsan-gce-386 KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user
2022/07/02 10:07 https://github.com/google/kmsan.git master ec1cbf8b060e 1434eec0 .config console log report info ci-upstream-kmsan-gce-386 KMSAN: kernel-infoleak-after-free in copy_siginfo_to_user
* Struck through repros no longer work on HEAD.