syzbot


KASAN: stack-out-of-bounds Write in __ip_tunnel_create

Status: fixed on 2018/05/08 18:30
Subsystems: net
[Documentation on labels]
Fix commit: 9cb726a212a8 ip_tunnel: better validate user provided tunnel names
First crash: 2211d, last: 2205d

Sample crash report:
==================================================================
BUG: KASAN: stack-out-of-bounds in strlcpy include/linux/string.h:300 [inline]
BUG: KASAN: stack-out-of-bounds in __ip_tunnel_create+0xca/0x6b0 net/ipv4/ip_tunnel.c:257
Write of size 20 at addr ffff8801ac427810 by task syzkaller981338/4466

CPU: 1 PID: 4466 Comm: syzkaller981338 Not tainted 4.16.0+ #2
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:17 [inline]
 dump_stack+0x1b9/0x29f lib/dump_stack.c:53
 print_address_description+0x6c/0x20b mm/kasan/report.c:256
 kasan_report_error mm/kasan/report.c:354 [inline]
 kasan_report.cold.7+0xac/0x2f5 mm/kasan/report.c:412
 check_memory_region_inline mm/kasan/kasan.c:260 [inline]
 check_memory_region+0x13e/0x1b0 mm/kasan/kasan.c:267
 memcpy+0x37/0x50 mm/kasan/kasan.c:303
 strlcpy include/linux/string.h:300 [inline]
 __ip_tunnel_create+0xca/0x6b0 net/ipv4/ip_tunnel.c:257
 ip_tunnel_create net/ipv4/ip_tunnel.c:352 [inline]
 ip_tunnel_ioctl+0x818/0xd40 net/ipv4/ip_tunnel.c:861
 ipip_tunnel_ioctl+0x1c5/0x420 net/ipv4/ipip.c:350
 dev_ifsioc+0x43e/0xb90 net/core/dev_ioctl.c:334
 dev_ioctl+0x69a/0xcc0 net/core/dev_ioctl.c:525
 sock_ioctl+0x47e/0x680 net/socket.c:1015
 vfs_ioctl fs/ioctl.c:46 [inline]
 file_ioctl fs/ioctl.c:500 [inline]
 do_vfs_ioctl+0x1cf/0x1650 fs/ioctl.c:684
 ksys_ioctl+0xa9/0xd0 fs/ioctl.c:701
 SYSC_ioctl fs/ioctl.c:708 [inline]
 SyS_ioctl+0x24/0x30 fs/ioctl.c:706
 do_syscall_64+0x29e/0x9d0 arch/x86/entry/common.c:287
 entry_SYSCALL_64_after_hwframe+0x42/0xb7
RIP: 0033:0x43fe19
RSP: 002b:00007ffe0f9231d8 EFLAGS: 00000213 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 000000000043fe19
RDX: 0000000020000240 RSI: 00000000000089f1 RDI: 0000000000000003
RBP: 00000000006ca018 R08: 000000000000001c R09: 00000000004002c8
R10: 000000000000001c R11: 0000000000000213 R12: 0000000000401740
R13: 00000000004017d0 R14: 0000000000000000 R15: 0000000000000000

The buggy address belongs to the page:
page:ffffea0006b109c0 count:0 mapcount:0 mapping:0000000000000000 index:0x0
flags: 0x2fffc0000000000()
raw: 02fffc0000000000 0000000000000000 0000000000000000 00000000ffffffff
raw: 0000000000000000 ffffea0006b10101 0000000000000000 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8801ac427700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8801ac427780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1
>ffff8801ac427800: f1 f1 00 00 f2 f2 00 00 00 00 00 00 00 00 00 00
                               ^
 ffff8801ac427880: 00 00 00 00 00 f1 f1 f1 f1 f8 f2 f2 f2 f3 f3 f3
 ffff8801ac427900: f3 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1
==================================================================

Crashes (29):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/04/06 06:35 upstream 3c8ba0d61d04 a932eae6 .config console log report syz C ci-upstream-kasan-gce-root
2018/04/05 23:12 upstream e02d37bf55a9 a932eae6 .config console log report syz C ci-upstream-kasan-gce
2018/04/05 12:05 upstream 06dd3dfeea60 5e1ccffc .config console log report syz C ci-upstream-kasan-gce-root
2018/04/05 20:05 net-next-old 17dec0a94915 5e1ccffc .config console log report syz C ci-upstream-net-kasan-gce
2018/04/05 10:07 net-next-old 17dec0a94915 5e1ccffc .config console log report syz C ci-upstream-net-kasan-gce
2018/04/09 18:29 upstream 3fd14cdcc05a f13fb445 .config console log report ci-upstream-kasan-gce
2018/04/09 14:25 upstream 3fd14cdcc05a f13fb445 .config console log report ci-upstream-kasan-gce
2018/04/09 14:24 upstream 3fd14cdcc05a f13fb445 .config console log report ci-upstream-kasan-gce-root
2018/04/08 03:43 upstream 3fd14cdcc05a 66f22a7f .config console log report ci-upstream-kasan-gce-root
2018/04/06 16:01 upstream 38c23685b273 4f1152d4 .config console log report ci-upstream-kasan-gce
2018/04/05 19:52 upstream e02d37bf55a9 5e1ccffc .config console log report ci-upstream-kasan-gce
2018/04/05 19:44 upstream e02d37bf55a9 5e1ccffc .config console log report ci-upstream-kasan-gce
2018/04/05 19:36 upstream e02d37bf55a9 5e1ccffc .config console log report ci-upstream-kasan-gce
2018/04/05 19:27 upstream e02d37bf55a9 5e1ccffc .config console log report ci-upstream-kasan-gce
2018/04/05 18:46 upstream 06dd3dfeea60 5e1ccffc .config console log report ci-upstream-kasan-gce-root
2018/04/11 21:16 net-next-old 17dec0a94915 9cd56d71 .config console log report ci-upstream-net-kasan-gce
2018/04/11 04:21 net-next-old 17dec0a94915 8b8de427 .config console log report ci-upstream-net-kasan-gce
2018/04/10 17:08 net-next-old 17dec0a94915 8e873e9d .config console log report ci-upstream-net-kasan-gce
2018/04/10 00:49 net-next-old 17dec0a94915 b9f65507 .config console log report ci-upstream-net-kasan-gce
2018/04/09 14:24 net-next-old 17dec0a94915 f13fb445 .config console log report ci-upstream-net-kasan-gce
2018/04/09 12:40 net-next-old 17dec0a94915 f13fb445 .config console log report ci-upstream-net-kasan-gce
2018/04/08 09:16 net-next-old 17dec0a94915 66f22a7f .config console log report ci-upstream-net-kasan-gce
2018/04/06 14:22 net-next-old 17dec0a94915 4f1152d4 .config console log report ci-upstream-net-kasan-gce
2018/04/05 18:46 net-next-old 17dec0a94915 5e1ccffc .config console log report ci-upstream-net-kasan-gce
2018/04/05 12:00 net-next-old 17dec0a94915 5e1ccffc .config console log report ci-upstream-net-kasan-gce
2018/04/05 09:40 net-next-old 17dec0a94915 5e1ccffc .config console log report ci-upstream-net-kasan-gce
2018/04/05 09:40 net-next-old 17dec0a94915 5e1ccffc .config console log report ci-upstream-net-kasan-gce
2018/04/05 09:36 net-next-old 17dec0a94915 5e1ccffc .config console log report ci-upstream-net-kasan-gce
2018/04/05 09:35 net-next-old 17dec0a94915 5e1ccffc .config console log report ci-upstream-net-kasan-gce
* Struck through repros no longer work on HEAD.