From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030733AbeAONvU (ORCPT + 1 other); Mon, 15 Jan 2018 08:51:20 -0500 Received: from mail-pl0-f41.google.com ([209.85.160.41]:40006 "EHLO mail-pl0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934589AbeAONvP (ORCPT ); Mon, 15 Jan 2018 08:51:15 -0500 X-Google-Smtp-Source: ACJfBou9a1brtSaG7wNd4VLo/26iRI9Ac10fssnmZTLjymdIakZj+3w3tyUCjAMpsHHG8q9yMhTSkK9jJqEsxa7Z4uQ= MIME-Version: 1.0 In-Reply-To: References: <94eb2c0d010a8dcf040560c0cdf5@google.com> From: Dmitry Vyukov Date: Mon, 15 Jan 2018 14:50:54 +0100 Message-ID: Subject: Re: BUG: unable to handle kernel NULL pointer dereference in sidtab_search_core To: Paul Moore Cc: syzbot , elfring@users.sourceforge.net, Eric Paris , Greg Kroah-Hartman , James Morris , LKML , linux-security-module@vger.kernel.org, Philippe Ombredanne , Stephen Smalley , selinux@tycho.nsa.gov, serge@hallyn.com, syzkaller-bugs@googlegroups.com, Thomas Gleixner Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Fri, Dec 22, 2017 at 9:56 PM, Paul Moore wrote: >>>>>>> wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> syzkaller hit the following crash on >>>>>>>> 6084b576dca2e898f5c101baef151f7bfdbb606d >>>>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/master >>>>>>>> compiler: gcc (GCC) 7.1.1 20170620 >>>>>>>> .config is attached >>>>>>>> Raw console output is attached. >>>>>>>> C reproducer is attached >>>>>>>> syzkaller reproducer is attached. See https://goo.gl/kgGztJ >>>>>>>> for information about syzkaller reproducers >>>>>>>> >>>>>>>> >>>>>>>> SELinux: security_compute_sid: unrecognized SID 1 >>>>>>>> SELinux: security_compute_sid: unrecognized SID 1 >>>>>>>> SELinux: security_compute_sid: unrecognized SID 1 >>>>>>>> SELinux: security_compute_sid: unrecognized SID 1 >>>>>>>> SELinux: security_compute_sid: unrecognized SID 1 >>>>>>>> BUG: unable to handle kernel NULL pointer dereference at 0000000000000001 >>>>>>>> IP: sidtab_search_core+0x88/0x110 security/selinux/ss/sidtab.c:100 >>>>>>>> PGD 0 P4D 0 >>>>>>>> Oops: 0000 [#1] SMP >>>>>>>> Dumping ftrace buffer: >>>>>>>> (ftrace buffer empty) >>>>>>>> Modules linked in: >>>>>>>> CPU: 1 PID: 4252 Comm: kworker/u4:1 Not tainted 4.15.0-rc3-next-20171214+ >>>>>>>> #67 >>>>>>>> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS >>>>>>>> Google 01/01/2011 >>>>>>>> RIP: 0010:sidtab_search_core+0x88/0x110 security/selinux/ss/sidtab.c:100 >>>>>>>> RSP: 0018:ffffc900028abc18 EFLAGS: 00010293 >>>>>>>> RAX: ffff8802131a87c0 RBX: 0000000000000001 RCX: ffffffff8165d978 >>>>>>>> RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff83fd17a0 >>>>>>>> RBP: ffffc900028abc40 R08: 0000000000000001 R09: 0000000000000001 >>>>>>>> R10: ffffc900028abbe0 R11: 0000000000000000 R12: 0000000000000001 >>>>>>>> R13: 0000000000000001 R14: 0000000000000000 R15: ffff880214d93800 >>>>>>>> FS: 0000000000000000(0000) GS:ffff88021fd00000(0000) knlGS:0000000000000000 >>>>>>>> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 >>>>>>>> CR2: 0000000000000001 CR3: 0000000214e31000 CR4: 00000000001406e0 >>>>>>>> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 >>>>>>>> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 >>>>>>>> Call Trace: >>>>>>>> sidtab_search+0x1f/0x30 security/selinux/ss/sidtab.c:111 >>>>>>>> security_compute_sid.part.11+0xe2/0x710 security/selinux/ss/services.c:1618 >>>>>>>> security_compute_sid+0x92/0xa0 security/selinux/ss/services.c:1598 >>>>>>>> security_transition_sid+0x57/0x70 security/selinux/ss/services.c:1764 >>>>>>>> selinux_bprm_set_creds+0x215/0x2f0 security/selinux/hooks.c:2423 >>>>>>>> security_bprm_set_creds+0x41/0x60 security/security.c:332 >>>>>>>> prepare_binprm+0xae/0x1f0 fs/exec.c:1561 >>>>>>>> do_execveat_common.isra.30+0x6f7/0xb90 fs/exec.c:1784 >>>>>>>> do_execve+0x31/0x40 fs/exec.c:1848 >>>>>>>> call_usermodehelper_exec_async+0x104/0x190 kernel/umh.c:100 >>>>>>>> ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:524 >>>>>>>> Code: 8b 5b 50 48 85 db 75 e5 e8 e6 c9 c5 ff 49 8b 5f 18 48 85 db 75 10 eb >>>>>>>> 43 e8 d6 c9 c5 ff 48 8b 5b 50 48 85 db 74 35 e8 c8 c9 c5 ff <44> 8b 23 41 83 >>>>>>>> fc 02 76 e4 e8 ba c9 c5 ff 41 83 fc 03 75 1c 48 >>>>>>>> RIP: sidtab_search_core+0x88/0x110 security/selinux/ss/sidtab.c:100 RSP: >>>>>>>> ffffc900028abc18 >>>>>>>> CR2: 0000000000000001 >>>>>>>> ---[ end trace 571c0ea6c6959387 ]--- >>>>>>>> Kernel panic - not syncing: Fatal exception >>>>>>>> Dumping ftrace buffer: >>>>>>>> (ftrace buffer empty) >>>>>>>> Kernel Offset: disabled >>>>>>>> Rebooting in 86400 seconds.. >>>>>>> >>>>>>> Based on the reproducer and the stack trace, I'm guessing the system >>>>>>> is attempting to load a kernel module for a a defined, but unloaded, >>>>>>> protocol. Looking quickly at the SELinux bprm and sidtab code, >>>>>>> nothing obvious is jumping out at me. Considering the number of false >>>>>>> positives I've been seeing from syzbot lately, I'm assuming this is >>>>>>> more of the same. >>>>>> >>>>>> Hi Paul, >>>>>> >>>>>> What are these false positives? Please elaborate. >>>>>> There is no single false positive that I am aware of. All the ones >>>>>> that were debugged are real kernel bugs. >>>>> >>>>> I've replied to several of the syzbot automated reports with the >>>>> "invalid" response. I haven't been keeping track, but it seems like >>>>> approximately 50% of the SELinux related reports don't make sense upon >>>>> inspection. >>>> >>>> Can you please point me to some of these bugs? I don't see anything >>>> like this in my inbox, in google group nor in database. >>> >>> Not easily, no. I don't keep track of these reports once I've >>> responded to the syzbot mail. >> >> There must be traces of this in database and on mailing lists (even if >> you drop syzkaller-bugs@ syzbot will re-add it). So far I did not find >> any traces... > > > > Okay, so I dug through my mail and I found at least two instances (see > below). There may be more, but I'm getting tired of dealing with > syzbot. I'm a big fan of increased testing, especially automated > testing, but right now syzbot seems to be costing me a > disproportionate amount of time. > > * I sent an invalid reply to > bot+c06fb26dfcd8220259619bf322a79eb0887147c8 on November 3rd, I don't > see an acknowledgement from the robot but I may have deleted it. > > * I sent an invalid reply to > bot+fcb30800d359ef1113a6edda069a77c2eebb9bf1 on December 6th, it was > acknowledged by the robot. I see. I just thought that you mean something more recent. These were almost 2 months ago and were about the same kernel bug. "KASAN: use-after-free Read in selinux_netlbl_sk_security_free" stopped happening since them, so most likely that was due to another kernel bug that went unnoticed and is fixed by now.