All of lore.kernel.org
 help / color / mirror / Atom feed
* [syzbot] KMSAN: uninit-value in from_kuid
@ 2021-11-27 15:50 syzbot
  2021-11-29 11:47 ` Christian Brauner
  0 siblings, 1 reply; 5+ messages in thread
From: syzbot @ 2021-11-27 15:50 UTC (permalink / raw)
  To: akpm, christian.brauner, cxfcosmos, ebiederm, glider, legion,
	linux-kernel, serge, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    425295055ce6 kmsan: core: address comments to kmsan-checks.h
git tree:       https://github.com/google/kmsan.git master
console output: https://syzkaller.appspot.com/x/log.txt?x=1640209ab00000
kernel config:  https://syzkaller.appspot.com/x/.config?x=2d142cdf4204061
dashboard link: https://syzkaller.appspot.com/bug?extid=dfac92a50024b54acaa4
compiler:       clang version 14.0.0 (git@github.com:llvm/llvm-project.git 0996585c8e3b3d409494eb5f1cad714b9e1f7fb5), GNU ld (GNU Binutils for Debian) 2.35.2
userspace arch: i386

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+dfac92a50024b54acaa4@syzkaller.appspotmail.com

=====================================================
BUG: KMSAN: uninit-value in map_id_up_base kernel/user_namespace.c:335 [inline]
BUG: KMSAN: uninit-value in map_id_up kernel/user_namespace.c:365 [inline]
BUG: KMSAN: uninit-value in from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
 map_id_up_base kernel/user_namespace.c:335 [inline]
 map_id_up kernel/user_namespace.c:365 [inline]
 from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
 p9pdu_vwritef+0x15ab/0x5120 net/9p/protocol.c:398
 p9pdu_writef+0x23a/0x280 net/9p/protocol.c:539
 p9pdu_vwritef+0x21f0/0x5120 net/9p/protocol.c:490
 p9_client_prepare_req+0xa4b/0xff0 net/9p/client.c:709
 p9_client_rpc+0x278/0x1410 net/9p/client.c:740
 p9_client_setattr+0x115/0x2c0 net/9p/client.c:1899
 v9fs_vfs_setattr_dotl+0x7e2/0xd70 fs/9p/vfs_inode_dotl.c:590
 notify_change+0x1fe3/0x2170 fs/attr.c:410
 vfs_utimes+0x8aa/0xc70 fs/utimes.c:65
 do_utimes_path fs/utimes.c:98 [inline]
 do_utimes fs/utimes.c:144 [inline]
 __do_sys_utime32 fs/utimes.c:247 [inline]
 __se_sys_utime32+0x386/0x520 fs/utimes.c:235
 __ia32_sys_utime32+0x91/0xc0 fs/utimes.c:235
 do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
 __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
 do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
 do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c

Uninit was stored to memory at:
 v9fs_vfs_setattr_dotl+0x58a/0xd70 fs/9p/vfs_inode_dotl.c:567
 notify_change+0x1fe3/0x2170 fs/attr.c:410
 vfs_utimes+0x8aa/0xc70 fs/utimes.c:65
 do_utimes_path fs/utimes.c:98 [inline]
 do_utimes fs/utimes.c:144 [inline]
 __do_sys_utime32 fs/utimes.c:247 [inline]
 __se_sys_utime32+0x386/0x520 fs/utimes.c:235
 __ia32_sys_utime32+0x91/0xc0 fs/utimes.c:235
 do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
 __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
 do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
 do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
 entry_SYSENTER_compat_after_hwframe+0x4d/0x5c

Local variable newattrs created at:
 vfs_utimes+0x69/0xc70 fs/utimes.c:22
 do_utimes_path fs/utimes.c:98 [inline]
 do_utimes fs/utimes.c:144 [inline]
 __do_sys_utime32 fs/utimes.c:247 [inline]
 __se_sys_utime32+0x386/0x520 fs/utimes.c:235
=====================================================


---
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 syzkaller@googlegroups.com.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [syzbot] KMSAN: uninit-value in from_kuid
  2021-11-27 15:50 [syzbot] KMSAN: uninit-value in from_kuid syzbot
@ 2021-11-29 11:47 ` Christian Brauner
  2021-11-29 12:03   ` Alexander Potapenko
  2021-11-29 15:16   ` Alexander Potapenko
  0 siblings, 2 replies; 5+ messages in thread
From: Christian Brauner @ 2021-11-29 11:47 UTC (permalink / raw)
  To: syzbot
  Cc: akpm, cxfcosmos, ebiederm, glider, legion, linux-kernel, serge,
	syzkaller-bugs

On Sat, Nov 27, 2021 at 07:50:27AM -0800, syzbot wrote:
> Hello,
> 
> syzbot found the following issue on:
> 
> HEAD commit:    425295055ce6 kmsan: core: address comments to kmsan-checks.h
> git tree:       https://github.com/google/kmsan.git master
> console output: https://syzkaller.appspot.com/x/log.txt?x=1640209ab00000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=2d142cdf4204061
> dashboard link: https://syzkaller.appspot.com/bug?extid=dfac92a50024b54acaa4
> compiler:       clang version 14.0.0 (git@github.com:llvm/llvm-project.git 0996585c8e3b3d409494eb5f1cad714b9e1f7fb5), GNU ld (GNU Binutils for Debian) 2.35.2
> userspace arch: i386
> 
> 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+dfac92a50024b54acaa4@syzkaller.appspotmail.com
> 
> =====================================================
> BUG: KMSAN: uninit-value in map_id_up_base kernel/user_namespace.c:335 [inline]
> BUG: KMSAN: uninit-value in map_id_up kernel/user_namespace.c:365 [inline]
> BUG: KMSAN: uninit-value in from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
>  map_id_up_base kernel/user_namespace.c:335 [inline]
>  map_id_up kernel/user_namespace.c:365 [inline]
>  from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
>  p9pdu_vwritef+0x15ab/0x5120 net/9p/protocol.c:398
>  p9pdu_writef+0x23a/0x280 net/9p/protocol.c:539
>  p9pdu_vwritef+0x21f0/0x5120 net/9p/protocol.c:490
>  p9_client_prepare_req+0xa4b/0xff0 net/9p/client.c:709
>  p9_client_rpc+0x278/0x1410 net/9p/client.c:740
>  p9_client_setattr+0x115/0x2c0 net/9p/client.c:1899
>  v9fs_vfs_setattr_dotl+0x7e2/0xd70 fs/9p/vfs_inode_dotl.c:590
>  notify_change+0x1fe3/0x2170 fs/attr.c:410
>  vfs_utimes+0x8aa/0xc70 fs/utimes.c:65
>  do_utimes_path fs/utimes.c:98 [inline]
>  do_utimes fs/utimes.c:144 [inline]
>  __do_sys_utime32 fs/utimes.c:247 [inline]
>  __se_sys_utime32+0x386/0x520 fs/utimes.c:235
>  __ia32_sys_utime32+0x91/0xc0 fs/utimes.c:235
>  do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
>  __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
>  do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
>  do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
>  entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
> 
> Uninit was stored to memory at:
>  v9fs_vfs_setattr_dotl+0x58a/0xd70 fs/9p/vfs_inode_dotl.c:567

That's a bug in the 9P2000.L implementation of .setattr.
It copies struct iattr values without checking ia_valid. That's causing
uninitalized memory to be copied. I sent a fix to 9p for this.

Christian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [syzbot] KMSAN: uninit-value in from_kuid
  2021-11-29 11:47 ` Christian Brauner
@ 2021-11-29 12:03   ` Alexander Potapenko
  2021-11-29 15:16   ` Alexander Potapenko
  1 sibling, 0 replies; 5+ messages in thread
From: Alexander Potapenko @ 2021-11-29 12:03 UTC (permalink / raw)
  To: Christian Brauner
  Cc: syzbot, akpm, cxfcosmos, ebiederm, legion, linux-kernel, serge,
	syzkaller-bugs

On Mon, Nov 29, 2021 at 12:47 PM Christian Brauner
<christian.brauner@ubuntu.com> wrote:
>
> On Sat, Nov 27, 2021 at 07:50:27AM -0800, syzbot wrote:
> > Hello,
> >
> > syzbot found the following issue on:
> >
> > HEAD commit:    425295055ce6 kmsan: core: address comments to kmsan-checks.h
> > git tree:       https://github.com/google/kmsan.git master
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1640209ab00000
> > kernel config:  https://syzkaller.appspot.com/x/.config?x=2d142cdf4204061
> > dashboard link: https://syzkaller.appspot.com/bug?extid=dfac92a50024b54acaa4
> > compiler:       clang version 14.0.0 (git@github.com:llvm/llvm-project.git 0996585c8e3b3d409494eb5f1cad714b9e1f7fb5), GNU ld (GNU Binutils for Debian) 2.35.2
> > userspace arch: i386
> >
> > 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+dfac92a50024b54acaa4@syzkaller.appspotmail.com
> >
> > =====================================================
> > BUG: KMSAN: uninit-value in map_id_up_base kernel/user_namespace.c:335 [inline]
> > BUG: KMSAN: uninit-value in map_id_up kernel/user_namespace.c:365 [inline]
> > BUG: KMSAN: uninit-value in from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
> >  map_id_up_base kernel/user_namespace.c:335 [inline]
> >  map_id_up kernel/user_namespace.c:365 [inline]
> >  from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
> >  p9pdu_vwritef+0x15ab/0x5120 net/9p/protocol.c:398
> >  p9pdu_writef+0x23a/0x280 net/9p/protocol.c:539
> >  p9pdu_vwritef+0x21f0/0x5120 net/9p/protocol.c:490
> >  p9_client_prepare_req+0xa4b/0xff0 net/9p/client.c:709
> >  p9_client_rpc+0x278/0x1410 net/9p/client.c:740
> >  p9_client_setattr+0x115/0x2c0 net/9p/client.c:1899
> >  v9fs_vfs_setattr_dotl+0x7e2/0xd70 fs/9p/vfs_inode_dotl.c:590
> >  notify_change+0x1fe3/0x2170 fs/attr.c:410
> >  vfs_utimes+0x8aa/0xc70 fs/utimes.c:65
> >  do_utimes_path fs/utimes.c:98 [inline]
> >  do_utimes fs/utimes.c:144 [inline]
> >  __do_sys_utime32 fs/utimes.c:247 [inline]
> >  __se_sys_utime32+0x386/0x520 fs/utimes.c:235
> >  __ia32_sys_utime32+0x91/0xc0 fs/utimes.c:235
> >  do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
> >  __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
> >  do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
> >  do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
> >  entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
> >
> > Uninit was stored to memory at:
> >  v9fs_vfs_setattr_dotl+0x58a/0xd70 fs/9p/vfs_inode_dotl.c:567
>
> That's a bug in the 9P2000.L implementation of .setattr.
> It copies struct iattr values without checking ia_valid. That's causing
> uninitalized memory to be copied. I sent a fix to 9p for this.
>
> Christian

Thanks!


-- 
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [syzbot] KMSAN: uninit-value in from_kuid
  2021-11-29 11:47 ` Christian Brauner
  2021-11-29 12:03   ` Alexander Potapenko
@ 2021-11-29 15:16   ` Alexander Potapenko
  2021-11-29 15:52     ` Christian Brauner
  1 sibling, 1 reply; 5+ messages in thread
From: Alexander Potapenko @ 2021-11-29 15:16 UTC (permalink / raw)
  To: Christian Brauner
  Cc: syzbot, akpm, cxfcosmos, ebiederm, legion, linux-kernel, serge,
	syzkaller-bugs

On Mon, Nov 29, 2021 at 12:47 PM Christian Brauner
<christian.brauner@ubuntu.com> wrote:
>
> On Sat, Nov 27, 2021 at 07:50:27AM -0800, syzbot wrote:
> > Hello,
> >
> > syzbot found the following issue on:
> >
> > HEAD commit:    425295055ce6 kmsan: core: address comments to kmsan-checks.h
> > git tree:       https://github.com/google/kmsan.git master
> > console output: https://syzkaller.appspot.com/x/log.txt?x=1640209ab00000
> > kernel config:  https://syzkaller.appspot.com/x/.config?x=2d142cdf4204061
> > dashboard link: https://syzkaller.appspot.com/bug?extid=dfac92a50024b54acaa4
> > compiler:       clang version 14.0.0 (git@github.com:llvm/llvm-project.git 0996585c8e3b3d409494eb5f1cad714b9e1f7fb5), GNU ld (GNU Binutils for Debian) 2.35.2
> > userspace arch: i386
> >
> > 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+dfac92a50024b54acaa4@syzkaller.appspotmail.com
> >
> > =====================================================
> > BUG: KMSAN: uninit-value in map_id_up_base kernel/user_namespace.c:335 [inline]
> > BUG: KMSAN: uninit-value in map_id_up kernel/user_namespace.c:365 [inline]
> > BUG: KMSAN: uninit-value in from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
> >  map_id_up_base kernel/user_namespace.c:335 [inline]
> >  map_id_up kernel/user_namespace.c:365 [inline]
> >  from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
> >  p9pdu_vwritef+0x15ab/0x5120 net/9p/protocol.c:398
> >  p9pdu_writef+0x23a/0x280 net/9p/protocol.c:539
> >  p9pdu_vwritef+0x21f0/0x5120 net/9p/protocol.c:490
> >  p9_client_prepare_req+0xa4b/0xff0 net/9p/client.c:709
> >  p9_client_rpc+0x278/0x1410 net/9p/client.c:740
> >  p9_client_setattr+0x115/0x2c0 net/9p/client.c:1899
> >  v9fs_vfs_setattr_dotl+0x7e2/0xd70 fs/9p/vfs_inode_dotl.c:590
> >  notify_change+0x1fe3/0x2170 fs/attr.c:410
> >  vfs_utimes+0x8aa/0xc70 fs/utimes.c:65
> >  do_utimes_path fs/utimes.c:98 [inline]
> >  do_utimes fs/utimes.c:144 [inline]
> >  __do_sys_utime32 fs/utimes.c:247 [inline]
> >  __se_sys_utime32+0x386/0x520 fs/utimes.c:235
> >  __ia32_sys_utime32+0x91/0xc0 fs/utimes.c:235
> >  do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
> >  __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
> >  do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
> >  do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
> >  entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
> >
> > Uninit was stored to memory at:
> >  v9fs_vfs_setattr_dotl+0x58a/0xd70 fs/9p/vfs_inode_dotl.c:567
>
> That's a bug in the 9P2000.L implementation of .setattr.
> It copies struct iattr values without checking ia_valid. That's causing
> uninitalized memory to be copied. I sent a fix to 9p for this.
>
> Christian

Christian,

Do you think it makes sense to request a CVE for this issue?
If so, were you going to request one? Otherwise I can do that.

-- 
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [syzbot] KMSAN: uninit-value in from_kuid
  2021-11-29 15:16   ` Alexander Potapenko
@ 2021-11-29 15:52     ` Christian Brauner
  0 siblings, 0 replies; 5+ messages in thread
From: Christian Brauner @ 2021-11-29 15:52 UTC (permalink / raw)
  To: Alexander Potapenko
  Cc: syzbot, akpm, cxfcosmos, ebiederm, legion, linux-kernel, serge,
	syzkaller-bugs

On Mon, Nov 29, 2021 at 04:16:21PM +0100, Alexander Potapenko wrote:
> On Mon, Nov 29, 2021 at 12:47 PM Christian Brauner
> <christian.brauner@ubuntu.com> wrote:
> >
> > On Sat, Nov 27, 2021 at 07:50:27AM -0800, syzbot wrote:
> > > Hello,
> > >
> > > syzbot found the following issue on:
> > >
> > > HEAD commit:    425295055ce6 kmsan: core: address comments to kmsan-checks.h
> > > git tree:       https://github.com/google/kmsan.git master
> > > console output: https://syzkaller.appspot.com/x/log.txt?x=1640209ab00000
> > > kernel config:  https://syzkaller.appspot.com/x/.config?x=2d142cdf4204061
> > > dashboard link: https://syzkaller.appspot.com/bug?extid=dfac92a50024b54acaa4
> > > compiler:       clang version 14.0.0 (git@github.com:llvm/llvm-project.git 0996585c8e3b3d409494eb5f1cad714b9e1f7fb5), GNU ld (GNU Binutils for Debian) 2.35.2
> > > userspace arch: i386
> > >
> > > 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+dfac92a50024b54acaa4@syzkaller.appspotmail.com
> > >
> > > =====================================================
> > > BUG: KMSAN: uninit-value in map_id_up_base kernel/user_namespace.c:335 [inline]
> > > BUG: KMSAN: uninit-value in map_id_up kernel/user_namespace.c:365 [inline]
> > > BUG: KMSAN: uninit-value in from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
> > >  map_id_up_base kernel/user_namespace.c:335 [inline]
> > >  map_id_up kernel/user_namespace.c:365 [inline]
> > >  from_kuid+0x51d/0xbd0 kernel/user_namespace.c:413
> > >  p9pdu_vwritef+0x15ab/0x5120 net/9p/protocol.c:398
> > >  p9pdu_writef+0x23a/0x280 net/9p/protocol.c:539
> > >  p9pdu_vwritef+0x21f0/0x5120 net/9p/protocol.c:490
> > >  p9_client_prepare_req+0xa4b/0xff0 net/9p/client.c:709
> > >  p9_client_rpc+0x278/0x1410 net/9p/client.c:740
> > >  p9_client_setattr+0x115/0x2c0 net/9p/client.c:1899
> > >  v9fs_vfs_setattr_dotl+0x7e2/0xd70 fs/9p/vfs_inode_dotl.c:590
> > >  notify_change+0x1fe3/0x2170 fs/attr.c:410
> > >  vfs_utimes+0x8aa/0xc70 fs/utimes.c:65
> > >  do_utimes_path fs/utimes.c:98 [inline]
> > >  do_utimes fs/utimes.c:144 [inline]
> > >  __do_sys_utime32 fs/utimes.c:247 [inline]
> > >  __se_sys_utime32+0x386/0x520 fs/utimes.c:235
> > >  __ia32_sys_utime32+0x91/0xc0 fs/utimes.c:235
> > >  do_syscall_32_irqs_on arch/x86/entry/common.c:114 [inline]
> > >  __do_fast_syscall_32+0x96/0xf0 arch/x86/entry/common.c:180
> > >  do_fast_syscall_32+0x34/0x70 arch/x86/entry/common.c:205
> > >  do_SYSENTER_32+0x1b/0x20 arch/x86/entry/common.c:248
> > >  entry_SYSENTER_compat_after_hwframe+0x4d/0x5c
> > >
> > > Uninit was stored to memory at:
> > >  v9fs_vfs_setattr_dotl+0x58a/0xd70 fs/9p/vfs_inode_dotl.c:567
> >
> > That's a bug in the 9P2000.L implementation of .setattr.
> > It copies struct iattr values without checking ia_valid. That's causing
> > uninitalized memory to be copied. I sent a fix to 9p for this.
> >
> > Christian
> 
> Christian,
> 
> Do you think it makes sense to request a CVE for this issue?
> If so, were you going to request one? Otherwise I can do that.

I mean, it's neither my bug nor did I detect it, I just fixed it. :)
If you would like this to be a CVE then sure go ahead.

(I don't understand the rules around this well enough tbh. For example,
during the last merge window there were at least 3 or 4 NULL pointer
derefs or UAFs in newly added but already released code. Should all of
these get a CVE without a working exploit?)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-29 19:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-27 15:50 [syzbot] KMSAN: uninit-value in from_kuid syzbot
2021-11-29 11:47 ` Christian Brauner
2021-11-29 12:03   ` Alexander Potapenko
2021-11-29 15:16   ` Alexander Potapenko
2021-11-29 15:52     ` Christian Brauner

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.