[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211124210323.1950976-1-kuba@kernel.org>
Date: Wed, 24 Nov 2021 13:03:23 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: minyard@....org, andrew.manley@...lingtech.com
Cc: openipmi-developer@...ts.sourceforge.net,
linux-kernel@...r.kernel.org, kernel-team@...com,
Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH] ipmi: fix oob access due to uninit smi_msg type
We're hitting OOB accesses in handle_ipmb_direct_rcv_rsp() (memcpy of
size -1) after user space generates a message. Looks like the message
is incorrectly assumed to be of the new IPMB type, because type is never
set and message is allocated with kmalloc() not kzalloc().
Fixes: 059747c245f0 ("ipmi: Add support for IPMB direct messages")
Signed-off-by: Jakub Kicinski <kuba@...nel.org>
---
Would it be possible to get something like this to Linus ASAP?
It's flipping over all my test boxes.
---
drivers/char/ipmi/ipmi_msghandler.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index deed355422f4..f0b18c25cbb1 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -5031,6 +5031,7 @@ struct ipmi_smi_msg *ipmi_alloc_smi_msg(void)
if (rv) {
rv->done = free_smi_msg;
rv->user_data = NULL;
+ rv->type = IPMI_SMI_MSG_TYPE_NORMAL;
atomic_inc(&smi_msg_inuse_count);
}
return rv;
--
2.31.1
Powered by blists - more mailing lists