]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
fs/hfs: Fix stack OOB write with grub_strcpy()
authorB Horn <b@horn.uk>
Sun, 12 May 2024 01:48:33 +0000 (02:48 +0100)
committerDaniel Kiper <daniel.kiper@oracle.com>
Thu, 16 Jan 2025 14:05:23 +0000 (15:05 +0100)
Replaced with grub_strlcpy().

Fixes: CVE-2024-45782
Fixes: CVE-2024-56737
Fixes: https://savannah.gnu.org/bugs/?66599
Reported-by: B Horn <b@horn.uk>
Signed-off-by: B Horn <b@horn.uk>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/fs/hfs.c

index 91dc0e69c3de81995609a7ee640d818e196119c4..920112b03e2f3fd2c50dac045e8c7db3659f2110 100644 (file)
@@ -379,7 +379,7 @@ grub_hfs_mount (grub_disk_t disk)
      volume name.  */
   key.parent_dir = grub_cpu_to_be32_compile_time (1);
   key.strlen = data->sblock.volname[0];
-  grub_strcpy ((char *) key.str, (char *) (data->sblock.volname + 1));
+  grub_strlcpy ((char *) key.str, (char *) (data->sblock.volname + 1), sizeof (key.str));
 
   if (grub_hfs_find_node (data, (char *) &key, data->cat_root,
                          0, (char *) &dir, sizeof (dir)) == 0)