Blob Blame History Raw
From c0df24b492e6afc654a972f4de2335d5bf05266a Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Sat, 26 Aug 2023 15:23:25 -0600
Subject: [PATCH] Backport https://github.com/HDFGroup/hdf5/pull/2459

---
 src/H5Oattr.c                                  |   7 +++----
 tools/test/h5dump/CMakeTests.cmake             |   5 +++++
 tools/test/h5dump/testh5dump.sh.in             |   5 +++++
 tools/testfiles/tCVE-2021-37501_attr_decode.h5 | Bin 0 -> 48544 bytes
 4 files changed, 13 insertions(+), 4 deletions(-)
 create mode 100644 tools/testfiles/tCVE-2021-37501_attr_decode.h5

diff --git a/src/H5Oattr.c b/src/H5Oattr.c
index db53eaf..de337b7 100644
--- a/src/H5Oattr.c
+++ b/src/H5Oattr.c
@@ -222,10 +222,6 @@ H5O__attr_decode(H5F_t *f, H5O_t *open_oh, unsigned H5_ATTR_UNUSED mesg_flags, u
     else
         p += attr->shared->ds_size;
 
-    /* Get the datatype's size */
-    if (0 == (dt_size = H5T_get_size(attr->shared->dt)))
-        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, NULL, "unable to get datatype size")
-
     /* Get the datatype & dataspace sizes */
     if (0 == (dt_size = H5T_get_size(attr->shared->dt)))
         HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, NULL, "unable to get datatype size")
@@ -235,6 +231,9 @@ H5O__attr_decode(H5F_t *f, H5O_t *open_oh, unsigned H5_ATTR_UNUSED mesg_flags, u
 
     /* Compute the size of the data */
     H5_CHECKED_ASSIGN(attr->shared->data_size, size_t, ds_size * (hsize_t)dt_size, hsize_t);
+    /* Check if multiplication has overflown */
+    if ((attr->shared->data_size / dt_size) != ds_size)
+        HGOTO_ERROR(H5E_RESOURCE, H5E_OVERFLOW, NULL, "data size exceeds addressable range")
 
     /* Go get the data */
     if (attr->shared->data_size) {
diff --git a/tools/test/h5dump/CMakeTests.cmake b/tools/test/h5dump/CMakeTests.cmake
index a8984de..4067461 100644
--- a/tools/test/h5dump/CMakeTests.cmake
+++ b/tools/test/h5dump/CMakeTests.cmake
@@ -339,6 +339,7 @@
       ${HDF5_TOOLS_DIR}/testfiles/tCVE_2018_11206_fill_old.h5
       ${HDF5_TOOLS_DIR}/testfiles/tCVE_2018_11206_fill_new.h5
       ${HDF5_TOOLS_DIR}/testfiles/zerodim.h5
+      ${HDF5_TOOLS_DIR}/testfiles/tCVE-2021-37501_attr_decode.h5
       #STD_REF_OBJ files
       ${HDF5_TOOLS_DIR}/testfiles/trefer_attr.h5
       ${HDF5_TOOLS_DIR}/testfiles/trefer_compat.h5
@@ -1187,6 +1188,10 @@
   ADD_H5_TEST (tCVE_2018_11206_fill_old 1 tCVE_2018_11206_fill_old.h5)
   ADD_H5_TEST (tCVE_2018_11206_fill_new 1 tCVE_2018_11206_fill_new.h5)
 
+  # test to verify fix for CVE-2021-37501: multiplication overflow in H5O__attr_decode()
+  # https://github.com/ST4RF4LL/Something_Found/blob/main/HDF5_v1.13.0_h5dump_heap_overflow.assets/poc
+  ADD_H5_TEST (tCVE-2021-37501_attr_decode 1 tCVE-2021-37501_attr_decode.h5)
+
 ##############################################################################
 ###    P L U G I N  T E S T S
 ##############################################################################
diff --git a/tools/test/h5dump/testh5dump.sh.in b/tools/test/h5dump/testh5dump.sh.in
index 9464302..2addb43 100644
--- a/tools/test/h5dump/testh5dump.sh.in
+++ b/tools/test/h5dump/testh5dump.sh.in
@@ -184,6 +184,7 @@ $SRC_H5DUMP_TESTFILES/tvms.h5
 $SRC_H5DUMP_TESTFILES/err_attr_dspace.h5
 $SRC_H5DUMP_TESTFILES/tCVE_2018_11206_fill_old.h5
 $SRC_H5DUMP_TESTFILES/tCVE_2018_11206_fill_new.h5
+$SRC_H5DUMP_TESTFILES/tCVE-2021-37501_attr_decode.h5
 "
 
 LIST_OTHER_TEST_FILES="
@@ -1486,6 +1487,10 @@ TOOLTEST err_attr_dspace.ddl err_attr_dspace.h5
 TOOLTEST_FAIL tCVE_2018_11206_fill_old.h5
 TOOLTEST_FAIL tCVE_2018_11206_fill_new.h5
 
+# test to verify fix for CVE-2021-37501: multiplication overflow in H5O__attr_decode()
+# https://github.com/ST4RF4LL/Something_Found/blob/main/HDF5_v1.13.0_h5dump_heap_overflow.assets/poc
+TOOLTEST_FAIL tCVE-2021-37501_attr_decode.h5
+
 # Clean up temporary files/directories
 CLEAN_TESTFILES_AND_TESTDIR
 
diff --git a/tools/testfiles/tCVE-2021-37501_attr_decode.h5 b/tools/testfiles/tCVE-2021-37501_attr_decode.h5
new file mode 100644
index 0000000000000000000000000000000000000000..331b05b59362a661b81364da3d7357312ad1e57c
GIT binary patch
literal 48544
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
CR{P-q

literal 0
HcmV?d00001

-- 
2.41.0