2013-06-03 09:25:37

by Dan Carpenter

[permalink] [raw]
Subject: [patch] cpqarray: info leak in ida_locked_ioctl()

The pciinfo struct has a two byte hole after ->dev_fn so stack
information could be leaked to the user.

Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 639d26b..2b94403 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -1193,6 +1193,7 @@ out_passthru:
ida_pci_info_struct pciinfo;

if (!arg) return -EINVAL;
+ memset(&pciinfo, 0, sizeof(pciinfo));
pciinfo.bus = host->pci_dev->bus->number;
pciinfo.dev_fn = host->pci_dev->devfn;
pciinfo.board_id = host->board_id;


2013-09-11 07:38:39

by Dan Carpenter

[permalink] [raw]
Subject: [patch -resend] cpqarray: info leak in ida_locked_ioctl()

The pciinfo struct has a two byte hole after ->dev_fn so stack
information could be leaked to the user.

This was assigned CVE-2013-2147.

Signed-off-by: Dan Carpenter <[email protected]>

diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 639d26b..2b94403 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -1193,6 +1193,7 @@ out_passthru:
ida_pci_info_struct pciinfo;

if (!arg) return -EINVAL;
+ memset(&pciinfo, 0, sizeof(pciinfo));
pciinfo.bus = host->pci_dev->bus->number;
pciinfo.dev_fn = host->pci_dev->devfn;
pciinfo.board_id = host->board_id;

2013-09-11 17:24:25

by Mike Miller

[permalink] [raw]
Subject: RE: [patch -resend] cpqarray: info leak in ida_locked_ioctl()



-----Original Message-----
From: Dan Carpenter [mailto:[email protected]]
Sent: Wednesday, September 11, 2013 2:38 AM
To: Chirag Kantharia; Andrew Morton
Cc: ISS StorageDev; [email protected]; [email protected]; Moritz Muehlenhoff
Subject: [patch -resend] cpqarray: info leak in ida_locked_ioctl()

The pciinfo struct has a two byte hole after ->dev_fn so stack information could be leaked to the user.

This was assigned CVE-2013-2147.

Signed-off-by: Dan Carpenter <[email protected]>

Acked-by: Mike Miller <[email protected]>

diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c index 639d26b..2b94403 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -1193,6 +1193,7 @@ out_passthru:
ida_pci_info_struct pciinfo;

if (!arg) return -EINVAL;
+ memset(&pciinfo, 0, sizeof(pciinfo));
pciinfo.bus = host->pci_dev->bus->number;
pciinfo.dev_fn = host->pci_dev->devfn;
pciinfo.board_id = host->board_id;