From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751941AbdHCN7v (ORCPT ); Thu, 3 Aug 2017 09:59:51 -0400 Received: from m15-37.126.com ([220.181.15.37]:58486 "EHLO m15-37.126.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751216AbdHCN7t (ORCPT ); Thu, 3 Aug 2017 09:59:49 -0400 X-Originating-IP: [153.3.28.15] Date: Thu, 3 Aug 2017 21:59:31 +0800 (CST) From: sohu0106 To: schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com Cc: linux-s390@vger.kernel.org, torvalds@linux-foundation.org, linux-kernel@vger.kernel.org Subject: drivers/s390/char/keyboard.c kernel stack infoleak X-Priority: 3 X-Mailer: Coremail Webmail Server Version SP_ntes V3.5 build 20160729(86883.8884) Copyright (c) 2002-2017 www.mailtech.cn 126com Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <116f735.aa23.15da864e94a.Coremail.sohu0106@126.com> X-Coremail-Locale: zh_CN X-CM-TRANSID: JcqowEAZFUBDLINZ+YFmAQ--.53328W X-CM-SenderInfo: pvrk3iqrqwqiyswou0bp/1tbi3AApHlag3kDj1AADs3 X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id v73DxsXZ018528 The stack object "kbdiacr" has a total size of 4 bytes. Its last 1 bytes are padding bytes after "result" which are not initialized and leaked to userland via "copy_to_user". diff --git a/keyboard.c b/keyboard.c index ba0e4f9..76a6d35 100644 --- a/keyboard.c +++ b/keyboard.c @@ -480,6 +480,8 @@ int kbd_ioctl(struct kbd_data *kbd, unsigned int cmd, unsigned long arg) struct kbdiacr diacr; int i; + memset( &diacr, 0, sizeof(struct kbdiacr) ); + if (put_user(kbd->accent_table_size, &a->kb_cnt)) return -EFAULT; for (i = 0; i < kbd->accent_table_size; i++) {