lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 7 Jun 2018 17:07:59 -0700
From:   Jakub Kicinski <jakub.kicinski@...ronome.com>
To:     Stephen Hemminger <stephen@...workplumber.org>
Cc:     netdev@...r.kernel.org, David Ahern <dsahern@...il.com>,
        David Miller <davem@...emloft.net>
Subject: Re: [Bug 199637] New: UBSAN: Undefined behaviour in
 net/ipv4/fib_trie.c:503:6

On Mon, 7 May 2018 10:33:45 -0700, Stephen Hemminger wrote:
> Begin forwarded message:
> 
> Date: Mon, 07 May 2018 16:07:24 +0000
> From: bugzilla-daemon@...zilla.kernel.org
> To: stephen@...workplumber.org
> Subject: [Bug 199637] New: UBSAN: Undefined behaviour in net/ipv4/fib_trie.c:503:6
> 
> 
> https://bugzilla.kernel.org/show_bug.cgi?id=199637
> 
>             Bug ID: 199637
>            Summary: UBSAN: Undefined behaviour in
>                     net/ipv4/fib_trie.c:503:6
>            Product: Networking
>            Version: 2.5
>     Kernel Version: 4.16.7
>           Hardware: x86-64
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: IPV4
>           Assignee: stephen@...workplumber.org
>           Reporter: combuster@...hlinux.us
>         Regression: No
> 
> After recompiling the 4.16.7 kernel with gcc 8.1, UBSAN reports the following:
> 
> [   25.427424]
> ================================================================================
> [   25.429680] UBSAN: Undefined behaviour in net/ipv4/fib_trie.c:503:6
> [   25.431920] member access within null pointer of type 'struct tnode'
> [   25.434153] CPU: 3 PID: 1 Comm: systemd Not tainted 4.16.7-CUSTOM #1
> [   25.436384] Hardware name: Gigabyte Technology Co., Ltd.
> H67MA-UD2H-B3/H67MA-UD2H-B3, BIOS F8 03/27/2012
> [   25.438647] Call Trace:
> [   25.440889]  dump_stack+0x62/0x9f
> [   25.443104]  ubsan_epilogue+0x9/0x35
> [   25.445293]  handle_null_ptr_deref+0x80/0x90
> [   25.447464]  __ubsan_handle_type_mismatch_v1+0x6a/0x80
> [   25.449628]  tnode_free+0xce/0x120
> [   25.451749]  ? replace+0xa0/0x1f0
> [   25.453833]  ? resize+0x4e2/0xb70
> [   25.455916]  ? __kmalloc+0x1fe/0x2d0
> [   25.457997]  ? tnode_new+0x66/0x160
> [   25.460072]  ? fib_insert_alias+0x4a8/0x9e0
> [   25.462145]  ? fib_table_insert+0x208/0x690
> [   25.464214]  ? fib_magic+0x20c/0x310
> [   25.466280]  ? fib_netdev_event+0x81/0x200
> [   25.468339]  ? notifier_call_chain+0x63/0x110
> [   25.470407]  ? __dev_notify_flags+0xa8/0x170
> [   25.472472]  ? dev_change_flags+0x56/0x80
> [   25.474538]  ? do_setlink+0x3c2/0x1a00
> [   25.476603]  ? fib_magic+0x20c/0x310
> [   25.478666]  ? rtnl_setlink+0x129/0x1e0
> [   25.480728]  ? rtnetlink_rcv_msg+0x2a4/0x7d0
> [   25.482765]  ? rtnetlink_rcv+0x10/0x10
> [   25.484757]  ? netlink_rcv_skb+0x6f/0x170
> [   25.486741]  ? netlink_unicast+0x1c0/0x2d0
> [   25.488716]  ? netlink_sendmsg+0x2c1/0x630
> [   25.490661]  ? sock_sendmsg+0x49/0xb0
> [   25.492564]  ? SyS_sendto+0x12b/0x1d0
> [   25.494449]  ? do_syscall_64+0xad/0x5cc
> [   25.496305]  ? page_fault+0x2f/0x50
> [   25.498140]  ? entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [   25.499974]
> ================================================================================
> 
> UBSAN reported nothing when the same kernel was compiled with gcc 7.3.1 from
> Arch Linux repositories.
> 
> I have three more similar reports to make, if I continue to c/p in each I'm
> gonna feel like a fuzzbot...
> 

And this one I'm seeing too (once at boot):

[   32.459535] ================================================================================
[   32.469133] UBSAN: Undefined behaviour in ../net/ipv4/fib_trie.c:504:6
[   32.476534] member access within null pointer of type 'struct tnode'
[   32.483733] CPU: 8 PID: 1 Comm: systemd Not tainted 4.17.0-rc7-debug-01088-g47bffcfef048 #9
[   32.493191] Hardware name: Dell Inc. PowerEdge R730/072T6D, BIOS 2.3.4 11/08/2016
[   32.501680] Call Trace:
[   32.504513]  dump_stack+0xe6/0x1a0
[   32.508412]  ? dump_stack_print_info.cold.0+0x1b/0x1b
[   32.514164]  ? do_raw_spin_lock+0xcf/0x220
[   32.518848]  ubsan_epilogue+0x9/0x7a
[   32.522940]  handle_null_ptr_deref+0x16b/0x1e0
[   32.528008]  ? ucs2_as_utf8+0x6b0/0x6b0
[   32.532397]  ? __x64_sys_sendto+0xe6/0x1d0
[   32.537079]  ? entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   32.543025]  __ubsan_handle_type_mismatch_v1+0x16b/0x19e
[   32.549054]  ? ubsan_type_mismatch_common.part.5.cold.9+0x1bb/0x1bb
[   32.556168]  ? fib_find_node+0x350/0x350
[   32.560655]  tnode_free+0x115/0x180
[   32.564655]  replace+0x21d/0x5e0
[   32.568361]  ? fib_insert_alias+0x1b20/0x1b20
[   32.573332]  ? put_child+0x546/0x7b0
[   32.577427]  ? __kmalloc+0x1b1/0x5f0
[   32.581520]  ? fib_trie_seq_start+0x510/0x510
[   32.586497]  resize+0x1253/0x2150
[   32.590299]  ? netlink_sendmsg+0x7b5/0x10c0
[   32.595074]  ? __sys_sendto+0x340/0x680
[   32.599460]  ? do_syscall_64+0x14b/0x720
[   32.603954]  ? __node_free_rcu+0x70/0x70
[   32.608442]  ? rcu_lockdep_current_cpu_online+0x1e7/0x2c0
[   32.614578]  ? rcu_dynticks_curr_cpu_in_eqs+0xd6/0x1f0
[   32.620435]  ? lockdep_rtnl_is_held+0x16/0x20
[   32.625401]  ? put_child+0x546/0x7b0
[   32.629494]  ? __kmalloc+0x1b1/0x5f0
[   32.633586]  ? fib_trie_seq_start+0x510/0x510
[   32.638561]  ? tnode_new+0x6c/0x310
[   32.642561]  fib_insert_alias+0xe9c/0x1b20
[   32.647246]  ? resize+0x2150/0x2150
[   32.651238]  ? __atomic_notifier_call_chain+0xb0/0x150
[   32.657081]  ? __atomic_notifier_call_chain+0x5/0x150
[   32.662827]  ? lock_downgrade+0x750/0x750
[   32.667412]  ? rcu_read_lock_bh_held+0xc0/0xc0
[   32.672481]  ? rcu_dynticks_curr_cpu_in_eqs+0xd6/0x1f0
[   32.678338]  ? __atomic_notifier_call_chain+0xcd/0x150
[   32.684187]  ? call_fib_notifiers+0x3d/0x90
[   32.688955]  ? call_fib_entry_notifiers+0x2a8/0x3f0
[   32.694508]  ? tnode_free+0x180/0x180
[   32.698701]  ? kmem_cache_alloc+0x37d/0x530
[   32.703477]  ? fib_net_init+0x3d0/0x3d0
[   32.707866]  fib_table_insert+0x8b2/0x18d0
[   32.712552]  ? fib_new_table+0xd1/0x5c0
[   32.716929]  ? inet_addr_type_dev_table+0x420/0x420
[   32.722470]  ? rcu_dynticks_curr_cpu_in_eqs+0xd6/0x1f0
[   32.728314]  ? replace+0x5e0/0x5e0
[   32.732213]  ? rcu_read_lock_bh_held+0xc0/0xc0
[   32.737279]  ? rcu_dynticks_curr_cpu_in_eqs+0xd6/0x1f0
[   32.743126]  ? fib_magic+0x5dd/0x980
[   32.747222]  fib_magic+0x5dd/0x980
[   32.751124]  ? fib_new_table+0x5c0/0x5c0
[   32.755620]  ? fib_add_ifaddr+0x38c/0x4a0
[   32.760205]  fib_netdev_event+0x114/0x390
[   32.764786]  notifier_call_chain+0x127/0x2c0
[   32.769664]  ? __se_sys_setns.cold.2+0x15/0x15
[   32.774730]  ? rtnl_is_locked+0x61/0xc0
[   32.779115]  ? rtnl_trylock+0x20/0x20
[   32.783298]  ? netlink_broadcast+0xf/0x20
[   32.787876]  ? nlmsg_notify+0x84/0x190
[   32.792173]  __dev_notify_flags+0x13f/0x410
[   32.796943]  ? dev_change_name+0xd90/0xd90
[   32.801621]  ? rtnl_bridge_getlink+0xcb0/0xcb0
[   32.806686]  ? __lock_acquire+0x6ad/0x3b10
[   32.811369]  ? print_irqtrace_events+0x280/0x280
[   32.816625]  ? __lock_acquire+0x6ad/0x3b10
[   32.821310]  dev_change_flags+0xea/0x140
[   32.825792]  do_setlink+0xb27/0x4300
[   32.829885]  ? debug_check_no_locks_freed+0x260/0x260
[   32.835635]  ? rtnl_link_get_net_capable.constprop.10+0x2b0/0x2b0
[   32.842546]  ? print_irqtrace_events+0x280/0x280
[   32.847804]  ? debug_check_no_locks_freed+0x260/0x260
[   32.853551]  ? debug_check_no_locks_freed+0x260/0x260
[   32.859297]  ? print_irqtrace_events+0x280/0x280
[   32.864553]  ? __lock_acquire+0x6ad/0x3b10
[   32.869230]  ? debug_check_no_locks_freed+0x260/0x260
[   32.874964]  ? debug_check_no_locks_freed+0x260/0x260
[   32.880712]  ? debug_check_no_locks_freed+0x260/0x260
[   32.886463]  ? __lock_acquire+0x6ad/0x3b10
[   32.891135]  ? print_irqtrace_events+0x280/0x280
[   32.896399]  ? __is_insn_slot_addr+0x238/0x490
[   32.901474]  ? lock_acquire+0x1a2/0x5a0
[   32.905859]  ? rtnetlink_rcv_msg+0x359/0xb10
[   32.910733]  ? lock_release+0x980/0x980
[   32.915124]  ? finish_task_switch+0xc10/0xc10
[   32.920096]  ? __bpf_trace_xdp_cpumap_enqueue+0x10/0x10
[   32.926046]  ? __mutex_lock+0xd17/0x1b50
[   32.930529]  ? rtnetlink_rcv_msg+0x359/0xb10
[   32.935398]  ? __lock_acquire+0x6ad/0x3b10
[   32.940080]  ? __ww_mutex_wakeup_for_backoff+0x330/0x330
[   32.946120]  ? memset+0x1f/0x40
[   32.949729]  ? nla_parse+0x7d/0x4e0
[   32.953726]  ? nla_validate+0x360/0x360
[   32.958121]  rtnl_setlink+0x256/0x400
[   32.962313]  ? do_setlink+0x4300/0x4300
[   32.966732]  ? rcu_dynticks_curr_cpu_in_eqs+0xd6/0x1f0
[   32.972582]  ? security_capable+0x4e/0x90
[   32.977167]  rtnetlink_rcv_msg+0x3aa/0xb10
[   32.981848]  ? rtnl_get_link+0x2c0/0x2c0
[   32.986333]  ? netlink_lookup+0xb9/0x140
[   32.990813]  ? netlink_seq_show+0x620/0x620
[   32.995592]  netlink_rcv_skb+0x13a/0x390
[   33.000071]  ? rtnl_get_link+0x2c0/0x2c0
[   33.004554]  ? finish_task_switch+0xc10/0xc10
[   33.009512]  ? netlink_ack+0xa90/0xa90
[   33.013815]  netlink_unicast+0x45f/0x6e0
[   33.018302]  ? netlink_sendskb+0x60/0x60
[   33.022787]  ? aa_af_perm+0x520/0x520
[   33.026975]  ? lock_downgrade+0x750/0x750
[   33.031554]  ? lock_release+0x980/0x980
[   33.035935]  ? security_socket_getpeersec_dgram+0x52/0xa0
[   33.042074]  netlink_sendmsg+0x7b5/0x10c0
[   33.046660]  ? nlmsg_notify+0x190/0x190
[   33.051052]  ? nlmsg_notify+0x190/0x190
[   33.055435]  sock_sendmsg+0xdf/0x180
[   33.059528]  __sys_sendto+0x340/0x680
[   33.063723]  ? __ia32_sys_getpeername+0xc0/0xc0
[   33.068921]  ? kernel_setsockopt+0x340/0x340
[   33.073885]  ? __sys_socket+0x148/0x220
[   33.078275]  ? __bpf_trace_sys_enter+0x10/0x10
[   33.083344]  __x64_sys_sendto+0xe6/0x1d0
[   33.087827]  ? trace_hardirqs_on_caller+0x3d0/0x630
[   33.093378]  do_syscall_64+0x14b/0x720
[   33.097668]  ? syscall_return_slowpath+0x560/0x560
[   33.103126]  ? syscall_return_slowpath+0x38d/0x560
[   33.108582]  ? entry_SYSCALL_64_after_hwframe+0x59/0xbe
[   33.114528]  ? trace_hardirqs_off_thunk+0x1a/0x1c
[   33.119890]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   33.125636] RIP: 0033:0x7fc408e74da7
[   33.129730] RSP: 002b:00007ffd4f2cf4e8 EFLAGS: 00000246 ORIG_RAX: 000000000000002c
[   33.138319] RAX: ffffffffffffffda RBX: 000055e490a09390 RCX: 00007fc408e74da7
[   33.146397] RDX: 0000000000000020 RSI: 000055e490a07890 RDI: 0000000000000004
[   33.154476] RBP: 000055e490a0dad0 R08: 00007ffd4f2cf4f0 R09: 0000000000000010
[   33.162544] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
[   33.170622] R13: 00007ffd4f2cf564 R14: 00007ffd4f2cf5d0 R15: 000055e490a07a60
[   33.178717] ================================================================================

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ