UBSAN: undefined-behaviour in nfnetlink_parse_nat_setup

6 views
Skip to first unread message

syzbot

unread,
Sep 22, 2020, 6:27:16 PM9/22/20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 015e94d0 Linux 4.19.146
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=138689ab900000
kernel config: https://syzkaller.appspot.com/x/.config?x=243dd74ad58a8a57
dashboard link: https://syzkaller.appspot.com/bug?extid=b57803f38a8e54850be1
compiler: gcc (GCC) 10.1.0-syz 20200507

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b57803...@syzkaller.appspotmail.com

request_module: kmod_concurrent_max (0) close to 0 (max_modprobes: 50), for module nf-nat-0, throttling...
================================================================================
UBSAN: Undefined behaviour in net/netfilter/nf_nat_core.c:67:9
index 14 is out of range for type 'nf_nat_l3proto *[13]'
CPU: 0 PID: 3494 Comm: syz-executor.3 Not tainted 4.19.146-syzkaller #0
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+0x22c/0x33e lib/dump_stack.c:118
ubsan_epilogue+0xe/0x3a lib/ubsan.c:161
__ubsan_handle_out_of_bounds.cold+0x63/0x6f lib/ubsan.c:383
__nf_nat_l3proto_find net/netfilter/nf_nat_core.c:67 [inline]
nfnetlink_parse_nat_setup+0x68c/0x750 net/netfilter/nf_nat_core.c:876
ctnetlink_parse_nat_setup+0xd6/0x760 net/netfilter/nf_conntrack_netlink.c:1521
ctnetlink_setup_nat net/netfilter/nf_conntrack_netlink.c:1591 [inline]
ctnetlink_create_conntrack+0x48f/0x1350 net/netfilter/nf_conntrack_netlink.c:1984
ctnetlink_new_conntrack+0x4f3/0xdb0 net/netfilter/nf_conntrack_netlink.c:2114
nfnetlink_rcv_msg+0xeff/0x1210 net/netfilter/nfnetlink.c:233
netlink_rcv_skb+0x160/0x440 net/netlink/af_netlink.c:2455
nfnetlink_rcv+0x1b2/0x41b net/netfilter/nfnetlink.c:565
netlink_unicast_kernel net/netlink/af_netlink.c:1318 [inline]
netlink_unicast+0x4d5/0x690 net/netlink/af_netlink.c:1344
netlink_sendmsg+0x717/0xcc0 net/netlink/af_netlink.c:1909
sock_sendmsg_nosec net/socket.c:622 [inline]
sock_sendmsg+0xc7/0x130 net/socket.c:632
___sys_sendmsg+0x7bb/0x8f0 net/socket.c:2115
__sys_sendmsg net/socket.c:2153 [inline]
__do_sys_sendmsg net/socket.c:2162 [inline]
__se_sys_sendmsg net/socket.c:2160 [inline]
__x64_sys_sendmsg+0x132/0x220 net/socket.c:2160
do_syscall_64+0xf9/0x670 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x45e179
Code: 3d b2 fb ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 0b b2 fb ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007f71a3994c78 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 0000000000029400 RCX: 000000000045e179
RDX: 0000000000000000 RSI: 0000000020000300 RDI: 0000000000000005
RBP: 000000000118cf80 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 000000000118cf4c
R13: 00007fff1ecedeaf R14: 00007f71a39959c0 R15: 000000000118cf4c
================================================================================
BUG: sleeping function called from invalid context at arch/x86/mm/fault.c:1355
in_atomic(): 0, irqs_disabled(): 0, pid: 3683, name: syz-executor.3
3 locks held by syz-executor.3/3683:
#0: 00000000f8890e64 (&table[i].mutex){+.+.}, at: nfnl_lock net/netfilter/nfnetlink.c:62 [inline]
#0: 00000000f8890e64 (&table[i].mutex){+.+.}, at: nfnetlink_rcv_msg+0xa8f/0x1210 net/netfilter/nfnetlink.c:228
#1: 0000000083e03412 (rcu_read_lock){....}, at: ctnetlink_create_conntrack+0x199/0x1350 net/netfilter/nf_conntrack_netlink.c:1929
#2: 0000000065386d75 (&mm->mmap_sem){++++}, at: __do_page_fault+0x3e2/0xe00 arch/x86/mm/fault.c:1341
Preemption disabled at:
[<ffffffff815edd20>] rcu_lockdep_current_cpu_online kernel/rcu/tree.c:1076 [inline]
[<ffffffff815edd20>] rcu_lockdep_current_cpu_online+0x30/0x220 kernel/rcu/tree.c:1068
CPU: 0 PID: 3683 Comm: syz-executor.3 Not tainted 4.19.146-syzkaller #0
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+0x22c/0x33e lib/dump_stack.c:118
___might_sleep.cold+0x6a/0x7e kernel/sched/core.c:6196
__do_page_fault+0x40d/0xe00 arch/x86/mm/fault.c:1355
page_fault+0x1e/0x30 arch/x86/entry/entry_64.S:1205
RIP: 0010:0x40
Code: Bad RIP value.
RSP: 0018:ffff8882134bf198 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff8650cd6d
RDX: 1ffff110135a2767 RSI: ffff8882134bf218 RDI: ffff8882134bf268
RBP: ffff88804d2d8900 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000005 R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88809ad13b00 R15: ffff8882134bf218
BUG: unable to handle kernel NULL pointer dereference at 0000000000000040
PGD 2143aa067 P4D 2143aa067 PUD 213505067 PMD 0
Oops: 0010 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 3683 Comm: syz-executor.3 Tainted: G W 4.19.146-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:0x40
Code: Bad RIP value.
RSP: 0018:ffff8882134bf198 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff8650cd6d
RDX: 1ffff110135a2767 RSI: ffff8882134bf218 RDI: ffff8882134bf268
RBP: ffff88804d2d8900 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000005 R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88809ad13b00 R15: ffff8882134bf218
FS: 00007f71a3995700(0000) GS:ffff8880ae200000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000016 CR3: 0000000215335000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
Modules linked in:
CR2: 0000000000000040
---[ end trace 35a093197ccf61c2 ]---
RIP: 0010:0x40
Code: Bad RIP value.
RSP: 0018:ffff8882134bf198 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff8650cd6d
RDX: 1ffff110135a2767 RSI: ffff8882134bf218 RDI: ffff8882134bf268
RBP: ffff88804d2d8900 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000005 R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000001 R14: ffff88809ad13b00 R15: ffff8882134bf218
FS: 00007f71a3995700(0000) GS:ffff8880ae200000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f69b70f3000 CR3: 0000000215335000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Sep 22, 2020, 6:44:21 PM9/22/20
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 015e94d0 Linux 4.19.146
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=109e5707900000
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10b0bdab900000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15fb02bb900000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b57803...@syzkaller.appspotmail.com

audit: type=1400 audit(1600814504.737:8): avc: denied { execmem } for pid=6501 comm="syz-executor839" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
================================================================================
UBSAN: Undefined behaviour in net/netfilter/nf_nat_core.c:67:9
index 14 is out of range for type 'nf_nat_l3proto *[13]'
CPU: 0 PID: 6501 Comm: syz-executor839 Not tainted 4.19.146-syzkaller #0
RIP: 0033:0x440679
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffffdf6e7a8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 0000000000440679
RDX: 0000000000000000 RSI: 0000000020000300 RDI: 0000000000000003
RBP: 00000000006ca018 R08: 0000000000000001 R09: 00000000004002c8
R10: 0000000000000005 R11: 0000000000000246 R12: 0000000000401e80
R13: 0000000000401f10 R14: 0000000000000000 R15: 0000000000000000
================================================================================

Reply all
Reply to author
Forward
0 new messages