syzbot


KASAN: slab-out-of-bounds Read in _decode_session6

Status: fixed on 2018/10/30 01:28
Reported-by: syzbot+acffccec848dc13fe459@syzkaller.appspotmail.com
Fix commit: 9f7e43da6ae4 net/xfrm: fix out-of-bounds packet access
First crash: 1399d, last: 1341d
similar bugs (5):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.14 KASAN: slab-out-of-bounds Read in _decode_session6 1 777d 777d 0/1 auto-closed as invalid on 2020/09/13 07:38
linux-4.19 KASAN: slab-out-of-bounds Read in _decode_session6 23 192d 847d 0/1 auto-closed as invalid on 2022/04/20 21:31
linux-4.14 KASAN: slab-out-of-bounds Read in _decode_session6 (2) 2 54d 73d 0/1 upstream: reported on 2022/04/20 02:56
android-414 KASAN: slab-out-of-bounds Read in _decode_session6 C 42 1320d 1178d 0/1 public: reported C repro on 2019/04/11 00:00
upstream KASAN: slab-out-of-bounds Read in _decode_session6 (2) C done unreliable 26 1319d 1341d 0/22 upstream: reported C repro on 2018/10/30 15:00

Sample crash report:
IPv6: ADDRCONF(NETDEV_UP): veth1: link is not ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
8021q: adding VLAN 0 to HW filter on device team0
==================================================================
BUG: KASAN: slab-out-of-bounds in _decode_session6+0x1331/0x14e0 net/ipv6/xfrm6_policy.c:161
Read of size 1 at addr ffff8801d4a67f07 by task syz-executor092/4673

CPU: 1 PID: 4673 Comm: syz-executor092 Not tainted 4.19.0-rc2+ #223
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x1c9/0x2b4 lib/dump_stack.c:113
 print_address_description+0x6c/0x20b mm/kasan/report.c:256
 kasan_report_error mm/kasan/report.c:354 [inline]
 kasan_report.cold.7+0x242/0x30d mm/kasan/report.c:412
 __asan_report_load1_noabort+0x14/0x20 mm/kasan/report.c:430
 _decode_session6+0x1331/0x14e0 net/ipv6/xfrm6_policy.c:161
 __xfrm_decode_session+0x71/0x140 net/xfrm/xfrm_policy.c:2299
 xfrm_decode_session include/net/xfrm.h:1232 [inline]
 vti6_tnl_xmit+0x3fc/0x1bb1 net/ipv6/ip6_vti.c:542
 __netdev_start_xmit include/linux/netdevice.h:4287 [inline]
 netdev_start_xmit include/linux/netdevice.h:4296 [inline]
 xmit_one net/core/dev.c:3216 [inline]
 dev_hard_start_xmit+0x272/0xc10 net/core/dev.c:3232
 __dev_queue_xmit+0x2ab2/0x3870 net/core/dev.c:3802
 dev_queue_xmit+0x17/0x20 net/core/dev.c:3835
 __bpf_tx_skb net/core/filter.c:2012 [inline]
 __bpf_redirect_common net/core/filter.c:2050 [inline]
 __bpf_redirect+0x5b7/0xae0 net/core/filter.c:2057
 ____bpf_clone_redirect net/core/filter.c:2090 [inline]
 bpf_clone_redirect+0x2f6/0x490 net/core/filter.c:2062
 bpf_prog_c39d1ba309a769f7+0xe9e/0x1000

Allocated by task 4673:
 save_stack+0x43/0xd0 mm/kasan/kasan.c:448
 set_track mm/kasan/kasan.c:460 [inline]
 kasan_kmalloc+0xc4/0xe0 mm/kasan/kasan.c:553
 __do_kmalloc_node mm/slab.c:3682 [inline]
 __kmalloc_node_track_caller+0x47/0x70 mm/slab.c:3696
 __kmalloc_reserve.isra.41+0x3a/0xe0 net/core/skbuff.c:137
 pskb_expand_head+0x230/0x10e0 net/core/skbuff.c:1463
 skb_ensure_writable+0x3dd/0x640 net/core/skbuff.c:5129
 __bpf_try_make_writable net/core/filter.c:1633 [inline]
 bpf_try_make_writable net/core/filter.c:1639 [inline]
 bpf_try_make_head_writable net/core/filter.c:1647 [inline]
 ____bpf_clone_redirect net/core/filter.c:2084 [inline]
 bpf_clone_redirect+0x14a/0x490 net/core/filter.c:2062
 bpf_prog_c39d1ba309a769f7+0xe9e/0x1000

Freed by task 3286:
 save_stack+0x43/0xd0 mm/kasan/kasan.c:448
 set_track mm/kasan/kasan.c:460 [inline]
 __kasan_slab_free+0x11a/0x170 mm/kasan/kasan.c:521
 kasan_slab_free+0xe/0x10 mm/kasan/kasan.c:528
 __cache_free mm/slab.c:3498 [inline]
 kfree+0xd9/0x210 mm/slab.c:3813
 load_elf_binary+0x2569/0x5610 fs/binfmt_elf.c:1118
 search_binary_handler+0x17d/0x570 fs/exec.c:1653
 exec_binprm fs/exec.c:1695 [inline]
 __do_execve_file.isra.35+0x15ff/0x2460 fs/exec.c:1819
 do_execveat_common fs/exec.c:1866 [inline]
 do_execve fs/exec.c:1883 [inline]
 __do_sys_execve fs/exec.c:1964 [inline]
 __se_sys_execve fs/exec.c:1959 [inline]
 __x64_sys_execve+0x8f/0xc0 fs/exec.c:1959
 do_syscall_64+0x1b9/0x820 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x49/0xbe

The buggy address belongs to the object at ffff8801d4a67d00
 which belongs to the cache kmalloc-512 of size 512
The buggy address is located 7 bytes to the right of
 512-byte region [ffff8801d4a67d00, ffff8801d4a67f00)
The buggy address belongs to the page:
page:ffffea00075299c0 count:1 mapcount:0 mapping:ffff8801dac00940 index:0x0
flags: 0x2fffc0000000100(slab)
raw: 02fffc0000000100 ffffea0007529988 ffffea0007529a48 ffff8801dac00940
raw: 0000000000000000 ffff8801d4a67080 0000000100000006 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff8801d4a67e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff8801d4a67e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff8801d4a67f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
                   ^
 ffff8801d4a67f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff8801d4a68000: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (35):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-root 2018/09/06 03:16 upstream b36fdc6853a3 873745f2 .config log report syz C
ci-upstream-net-this-kasan-gce 2018/09/06 03:18 net e65a9e480e91 873745f2 .config log report syz C
ci-upstream-bpf-kasan-gce 2018/09/06 03:17 bpf 28619527b8a7 873745f2 .config log report syz C
ci-upstream-net-kasan-gce 2018/09/06 03:17 net-next 05dcc7129864 873745f2 .config log report syz C
ci-upstream-linux-next-kasan-gce-root 2018/09/06 03:17 linux-next f2b6e66e9885 873745f2 .config log report syz C
ci-upstream-bpf-next-kasan-gce 2018/09/02 01:59 bpf-next 93ee30f3e8b4 a4718693 .config log report syz
ci-upstream-kasan-gce-root 2018/10/29 20:40 upstream 9f51ae62c84a 7df9db2e .config log report
ci-upstream-kasan-gce-smack-root 2018/10/29 20:39 upstream 9f51ae62c84a 7df9db2e .config log report
ci-upstream-kasan-gce-selinux-root 2018/09/06 01:47 upstream b36fdc6853a3 873745f2 .config log report
ci-upstream-bpf-kasan-gce 2018/10/28 23:22 bpf d8fd9e106fbc 9ca2afa1 .config log report
ci-upstream-bpf-kasan-gce 2018/10/09 23:10 bpf 262f9d811c76 8b311eaf .config log report
ci-upstream-bpf-kasan-gce 2018/10/08 21:43 bpf 262f9d811c76 8b311eaf .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/30 00:49 bpf-next 44adbac8f721 2f1090da .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/29 20:39 bpf-next 44adbac8f721 7df9db2e .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/27 13:51 bpf-next 44adbac8f721 8efba39a .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/27 12:48 bpf-next 44adbac8f721 8efba39a .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/23 23:27 bpf-next 487e2e22ab79 a8292de9 .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/20 23:57 bpf-next 2576b96757e4 ecb386fe .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/20 11:43 bpf-next 5032d079909d ecb386fe .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/20 11:30 bpf-next 5032d079909d ecb386fe .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/17 09:59 bpf-next 44d520eb17cd 1ba7fd7e .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/16 09:47 bpf-next 2c59f06cc044 8cd30605 .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/14 10:47 bpf-next 67e89ac32828 caf12900 .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/11 00:13 bpf-next 438363c0feb8 5f818b4b .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/08 23:32 bpf-next df3f94a0bbeb 8b311eaf .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/08 21:41 bpf-next a2046de99193 8b311eaf .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/05 09:13 bpf-next 20cdeb5408da 8b311eaf .config log report
ci-upstream-bpf-next-kasan-gce 2018/10/04 09:24 bpf-next d71019b54bff 8b311eaf .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/30 21:49 bpf-next 5bf7a60b8e70 41e4b329 .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/29 04:08 bpf-next 5bf7a60b8e70 41e4b329 .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/27 20:41 bpf-next 100811936f89 0c2fa87b .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/25 21:46 bpf-next d0e13a1488ad b7e11289 .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/25 06:03 bpf-next 788758d1fe87 0e7547d7 .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/05 09:26 bpf-next 2fc4aa59ab47 a4718693 .config log report
ci-upstream-bpf-next-kasan-gce 2018/09/01 22:55 bpf-next 93ee30f3e8b4 a4718693 .config log report