qemu-devel
[Top][All Lists]
Advanced

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

[PATCH 3/4] firmware: qemu_fw_cfg: fix sysfs information leak


From: Johan Hovold
Subject: [PATCH 3/4] firmware: qemu_fw_cfg: fix sysfs information leak
Date: Wed, 1 Dec 2021 14:25:27 +0100

Make sure to always NUL-terminate file names retrieved from the firmware
to avoid accessing data beyond the entry slab buffer and exposing it
through sysfs in case the firmware data is corrupt.

Fixes: 75f3e8e47f38 ("firmware: introduce sysfs driver for QEMU's fw_cfg 
device")
Cc: stable@vger.kernel.org      # 4.6
Cc: Gabriel Somlo <somlo@cmu.edu>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/firmware/qemu_fw_cfg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/firmware/qemu_fw_cfg.c b/drivers/firmware/qemu_fw_cfg.c
index ccb7ed62452f..f08e056ed0ae 100644
--- a/drivers/firmware/qemu_fw_cfg.c
+++ b/drivers/firmware/qemu_fw_cfg.c
@@ -598,7 +598,7 @@ static int fw_cfg_register_file(const struct fw_cfg_file *f)
        /* set file entry information */
        entry->size = be32_to_cpu(f->size);
        entry->select = be16_to_cpu(f->select);
-       memcpy(entry->name, f->name, FW_CFG_MAX_FILE_PATH);
+       strscpy(entry->name, f->name, FW_CFG_MAX_FILE_PATH);
 
        /* register entry under "/sys/firmware/qemu_fw_cfg/by_key/" */
        err = kobject_init_and_add(&entry->kobj, &fw_cfg_sysfs_entry_ktype,
-- 
2.32.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]