syzbot


KASAN: stack-out-of-bounds Read in xfrm_selector_match

Status: fixed on 2018/02/13 04:59
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+fdda5cee0750cb02b26b@syzkaller.appspotmail.com
Fix commit: 732706afe1cc xfrm: Fix stack-out-of-bounds with misconfigured transport mode policies.
First crash: 2301d, last: 2290d
Similar bugs (5)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
android-49 KASAN: stack-out-of-bounds Read in xfrm_selector_match C 672 1993d 2460d 0/3 closed as invalid on 2018/11/08 02:37
upstream KASAN: stack-out-of-bounds Read in xfrm_selector_match (2) net 1 1308d 1306d 15/26 fixed on 2020/11/16 12:12
android-44 KASAN: stack-out-of-bounds Read in xfrm_selector_match C 36 2003d 1835d 0/2 public: reported C repro on 2019/04/11 08:44
android-414 KASAN: stack-out-of-bounds Read in xfrm_selector_match 1 1641d 1641d 0/1 auto-closed as invalid on 2020/02/19 14:26
android-49 KASAN: stack-out-of-bounds Read in xfrm_selector_match (2) C 13 1639d 1834d 0/3 public: reported C repro on 2019/04/13 00:00

Sample crash report:
netlink: 1 bytes leftover after parsing attributes in process `syz-executor1'.
==================================================================
BUG: KASAN: stack-out-of-bounds in xfrm_flowi_dport include/net/xfrm.h:932 [inline]
BUG: KASAN: stack-out-of-bounds in __xfrm6_selector_match net/xfrm/xfrm_policy.c:91 [inline]
BUG: KASAN: stack-out-of-bounds in xfrm_selector_match+0xcdc/0xe00 net/xfrm/xfrm_policy.c:104
Read of size 2 at addr ffff8801c49bf5e4 by task syz-executor0/13616

CPU: 0 PID: 13616 Comm: syz-executor0 Not tainted 4.15.0-rc7+ #183
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+0x194/0x257 lib/dump_stack.c:53
netlink: 1 bytes leftover after parsing attributes in process `syz-executor1'.
 print_address_description+0x73/0x250 mm/kasan/report.c:252
 kasan_report_error mm/kasan/report.c:351 [inline]
 kasan_report+0x25b/0x340 mm/kasan/report.c:409
 __asan_report_load2_noabort+0x14/0x20 mm/kasan/report.c:428
 xfrm_flowi_dport include/net/xfrm.h:932 [inline]
 __xfrm6_selector_match net/xfrm/xfrm_policy.c:91 [inline]
 xfrm_selector_match+0xcdc/0xe00 net/xfrm/xfrm_policy.c:104
 xfrm_state_look_at.constprop.30+0x113/0x360 net/xfrm/xfrm_state.c:909
 xfrm_state_find+0x1595/0x3210 net/xfrm/xfrm_state.c:977
 xfrm_tmpl_resolve_one net/xfrm/xfrm_policy.c:1394 [inline]
 xfrm_tmpl_resolve+0x2ee/0xc40 net/xfrm/xfrm_policy.c:1438
 xfrm_resolve_and_create_bundle+0x184/0x28d0 net/xfrm/xfrm_policy.c:1829
 xfrm_lookup+0x15b2/0x24f0 net/xfrm/xfrm_policy.c:2155
 xfrm_lookup_route+0x39/0x1a0 net/xfrm/xfrm_policy.c:2273
 ip_route_output_flow+0x7c/0xa0 net/ipv4/route.c:2559
 udp_sendmsg+0x19d3/0x2ce0 net/ipv4/udp.c:999
 udpv6_sendmsg+0x757/0x3400 net/ipv6/udp.c:1156
 inet_sendmsg+0x11f/0x5e0 net/ipv4/af_inet.c:764
 sock_sendmsg_nosec net/socket.c:628 [inline]
 sock_sendmsg+0xca/0x110 net/socket.c:638
 ___sys_sendmsg+0x767/0x8b0 net/socket.c:2018
 __sys_sendmsg+0xe5/0x210 net/socket.c:2052
 SYSC_sendmsg net/socket.c:2063 [inline]
 SyS_sendmsg+0x2d/0x50 net/socket.c:2059
 entry_SYSCALL_64_fastpath+0x23/0x9a
RIP: 0033:0x452ac9
RSP: 002b:00007f62061abc58 EFLAGS: 00000212 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f62061ac700 RCX: 0000000000452ac9
RDX: 0000000000000000 RSI: 00000000201f1000 RDI: 0000000000000013
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000212 R12: 0000000000000000
R13: 0000000000a2f7ef R14: 00007f62061ac9c0 R15: 0000000000000000

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

Memory state around the buggy address:
 ffff8801c49bf480: f1 f1 f1 04 f2 f2 f2 f2 f2 f2 f2 00 f2 f2 f2 f2
 ffff8801c49bf500: f2 f2 f2 f8 f2 f2 f2 f2 f2 f2 f2 00 00 00 00 f2
>ffff8801c49bf580: f2 f2 f2 00 00 00 00 00 00 00 f2 f2 f2 f2 f2 00
                                                       ^
 ffff8801c49bf600: 00 00 00 00 00 00 00 00 f2 f2 f2 00 00 00 00 00
 ffff8801c49bf680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================

Crashes (368):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2018/01/11 13:03 net-next-old c5e62a24278a 9dc808a6 .config console log report ci-upstream-net-kasan-gce
2018/01/10 23:44 net-next-old e2b3b35eb989 02a19b64 .config console log report ci-upstream-net-kasan-gce
2018/01/09 22:42 net-next-old 61ad64080e03 1f60c828 .config console log report ci-upstream-net-kasan-gce
2018/01/08 10:18 net-next-old f66faae2f80a 19c05fff .config console log report ci-upstream-net-kasan-gce
2018/01/06 15:05 net-next-old d0adb51edb73 053171ea .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:35 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:34 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:33 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:32 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:29 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:28 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:19 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:19 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:12 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:12 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:08 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:08 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 23:04 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:53 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:39 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:37 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:27 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:12 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:11 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:11 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:08 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 22:05 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:56 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:53 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:51 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:49 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:46 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:43 net-next-old d0adb51edb73 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:29 net-next-old 72deacce011b 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:11 net-next-old 72deacce011b 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 21:05 net-next-old 72deacce011b 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 20:58 net-next-old 72deacce011b 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/05 20:57 net-next-old 72deacce011b 00193447 .config console log report ci-upstream-net-kasan-gce
2018/01/10 23:35 linux-next b4464bcab38d 02a19b64 .config console log report ci-upstream-next-kasan-gce
2018/01/05 21:58 linux-next 990b6a07d18c 00193447 .config console log report ci-upstream-next-kasan-gce
* Struck through repros no longer work on HEAD.