From: Simon Horman <horms@kernel.org>
To: Shigeru Yoshida <syoshida@redhat.com>
Cc: jmaloy@redhat.com, ying.xue@windriver.com,
netdev@vger.kernel.org, tipc-discussion@lists.sourceforge.net,
linux-kernel@vger.kernel.org,
syzbot+9425c47dccbcb4c17d51@syzkaller.appspotmail.com
Subject: Re: [PATCH] tipc: Fix uninit-value access in __tipc_nl_bearer_enable()
Date: Sun, 1 Oct 2023 19:47:39 +0200 [thread overview]
Message-ID: <20231001174739.GS92317@kernel.org> (raw)
In-Reply-To: <20230926125120.152133-1-syoshida@redhat.com>
On Tue, Sep 26, 2023 at 09:51:20PM +0900, Shigeru Yoshida wrote:
> syzbot reported the following uninit-value access issue:
>
> =====================================================
> BUG: KMSAN: uninit-value in strscpy+0xc4/0x160
> strscpy+0xc4/0x160
> bearer_name_validate net/tipc/bearer.c:147 [inline]
> tipc_enable_bearer net/tipc/bearer.c:259 [inline]
> __tipc_nl_bearer_enable+0x634/0x2220 net/tipc/bearer.c:1043
> tipc_nl_bearer_enable+0x3c/0x70 net/tipc/bearer.c:1052
> genl_family_rcv_msg_doit net/netlink/genetlink.c:971 [inline]
> genl_family_rcv_msg net/netlink/genetlink.c:1051 [inline]
> genl_rcv_msg+0x11ec/0x1290 net/netlink/genetlink.c:1066
> netlink_rcv_skb+0x371/0x650 net/netlink/af_netlink.c:2545
> genl_rcv+0x40/0x60 net/netlink/genetlink.c:1075
> netlink_unicast_kernel net/netlink/af_netlink.c:1342 [inline]
> netlink_unicast+0xf47/0x1250 net/netlink/af_netlink.c:1368
> netlink_sendmsg+0x1238/0x13d0 net/netlink/af_netlink.c:1910
> sock_sendmsg_nosec net/socket.c:730 [inline]
> sock_sendmsg net/socket.c:753 [inline]
> ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2540
> ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2594
> __sys_sendmsg net/socket.c:2623 [inline]
> __do_sys_sendmsg net/socket.c:2632 [inline]
> __se_sys_sendmsg net/socket.c:2630 [inline]
> __x64_sys_sendmsg+0x307/0x490 net/socket.c:2630
> do_syscall_x64 arch/x86/entry/common.c:50 [inline]
> do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
> entry_SYSCALL_64_after_hwframe+0x63/0xcd
>
> Uninit was created at:
> slab_post_alloc_hook+0x12f/0xb70 mm/slab.h:767
> slab_alloc_node mm/slub.c:3478 [inline]
> kmem_cache_alloc_node+0x577/0xa80 mm/slub.c:3523
> kmalloc_reserve+0x148/0x470 net/core/skbuff.c:559
> __alloc_skb+0x318/0x740 net/core/skbuff.c:644
> alloc_skb include/linux/skbuff.h:1286 [inline]
> netlink_alloc_large_skb net/netlink/af_netlink.c:1214 [inline]
> netlink_sendmsg+0xb34/0x13d0 net/netlink/af_netlink.c:1885
> sock_sendmsg_nosec net/socket.c:730 [inline]
> sock_sendmsg net/socket.c:753 [inline]
> ____sys_sendmsg+0x9c2/0xd60 net/socket.c:2540
> ___sys_sendmsg+0x28d/0x3c0 net/socket.c:2594
> __sys_sendmsg net/socket.c:2623 [inline]
> __do_sys_sendmsg net/socket.c:2632 [inline]
> __se_sys_sendmsg net/socket.c:2630 [inline]
> __x64_sys_sendmsg+0x307/0x490 net/socket.c:2630
> do_syscall_x64 arch/x86/entry/common.c:50 [inline]
> do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
> entry_SYSCALL_64_after_hwframe+0x63/0xcd
>
> Bearer names must be null-terminated strings. If a bearer name which is not
> null-terminated is passed through netlink, strcpy() and similar functions
> can cause buffer overrun. This causes the above issue.
>
> This patch fixes this issue by returning -EINVAL if a non-null-terminated
> bearer name is passed.
>
> Fixes: 0655f6a8635b ("tipc: add bearer disable/enable to new netlink api")
> Reported-and-tested-by: syzbot+9425c47dccbcb4c17d51@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=9425c47dccbcb4c17d51
> Signed-off-by: Shigeru Yoshida <syoshida@redhat.com>
Reviewed-by: Simon Horman <horms@kernel.org>
next prev parent reply other threads:[~2023-10-01 17:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-26 12:51 [PATCH] tipc: Fix uninit-value access in __tipc_nl_bearer_enable() Shigeru Yoshida
2023-10-01 17:47 ` Simon Horman [this message]
2023-10-03 8:52 ` Paolo Abeni
2023-10-04 16:36 ` Shigeru Yoshida
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231001174739.GS92317@kernel.org \
--to=horms@kernel.org \
--cc=jmaloy@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=syoshida@redhat.com \
--cc=syzbot+9425c47dccbcb4c17d51@syzkaller.appspotmail.com \
--cc=tipc-discussion@lists.sourceforge.net \
--cc=ying.xue@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.