lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 018/239] firmware: qemu_fw_cfg: fix sysfs information leak
    Date
    From: Johan Hovold <johan@kernel.org>

    commit 1b656e9aad7f4886ed466094d1dc5ee4dd900d20 upstream.

    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>
    Link: https://lore.kernel.org/r/20211201132528.30025-4-johan@kernel.org
    Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/firmware/qemu_fw_cfg.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- 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 st
    /* 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,

    \
     
     \ /
      Last update: 2022-01-24 20:40    [W:2.113 / U:0.384 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site