Patch "acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     acpi-nfit-vmalloc-out-of-bounds-read-in-acpi_nfit_ct.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c9889ce191567293c1d5269e213f83e07ad9a81e
Author: Suraj Sonawane <surajsonawane0215@xxxxxxxxx>
Date:   Mon Nov 18 21:56:09 2024 +0530

    acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl
    
    [ Upstream commit 265e98f72bac6c41a4492d3e30a8e5fd22fe0779 ]
    
    Fix an issue detected by syzbot with KASAN:
    
    BUG: KASAN: vmalloc-out-of-bounds in cmd_to_func drivers/acpi/nfit/
    core.c:416 [inline]
    BUG: KASAN: vmalloc-out-of-bounds in acpi_nfit_ctl+0x20e8/0x24a0
    drivers/acpi/nfit/core.c:459
    
    The issue occurs in cmd_to_func when the call_pkg->nd_reserved2
    array is accessed without verifying that call_pkg points to a buffer
    that is appropriately sized as a struct nd_cmd_pkg. This can lead
    to out-of-bounds access and undefined behavior if the buffer does not
    have sufficient space.
    
    To address this, a check was added in acpi_nfit_ctl() to ensure that
    buf is not NULL and that buf_len is less than sizeof(*call_pkg)
    before accessing it. This ensures safe access to the members of
    call_pkg, including the nd_reserved2 array.
    
    Reported-by: syzbot+7534f060ebda6b8b51b3@xxxxxxxxxxxxxxxxxxxxxxxxx
    Closes: https://syzkaller.appspot.com/bug?extid=7534f060ebda6b8b51b3
    Tested-by: syzbot+7534f060ebda6b8b51b3@xxxxxxxxxxxxxxxxxxxxxxxxx
    Fixes: ebe9f6f19d80 ("acpi/nfit: Fix bus command validation")
    Signed-off-by: Suraj Sonawane <surajsonawane0215@xxxxxxxxx>
    Reviewed-by: Alison Schofield <alison.schofield@xxxxxxxxx>
    Reviewed-by: Dave Jiang <dave.jiang@xxxxxxxxx>
    Link: https://patch.msgid.link/20241118162609.29063-1-surajsonawane0215@xxxxxxxxx
    Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c
index 6d4ac934cd49..1535fe196646 100644
--- a/drivers/acpi/nfit/core.c
+++ b/drivers/acpi/nfit/core.c
@@ -454,8 +454,13 @@ int acpi_nfit_ctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
 	if (cmd_rc)
 		*cmd_rc = -EINVAL;
 
-	if (cmd == ND_CMD_CALL)
+	if (cmd == ND_CMD_CALL) {
+		if (!buf || buf_len < sizeof(*call_pkg))
+			return -EINVAL;
+
 		call_pkg = buf;
+	}
+
 	func = cmd_to_func(nfit_mem, cmd, call_pkg, &family);
 	if (func < 0)
 		return func;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux