Heap-based buffer overflow in HDF5 - CVE-2016-4332

 

Heap-based buffer overflow in HDF5 - CVE-2016-4332

Published: April 25, 2018


Vulnerability identifier: #VU12154
CSH Severity: Low
CVSS v4: 8.5 [CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2016-4332
CWE-ID: CWE-122
Exploitation vector: Local access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a local attacker to gain elevated privileges on the target system.

The weakness exists due to library's failure to check if certain message types support a particular flag and the library can cast the structure to an alternative structure and then assign to fields that aren't supported by the message type and the library can write outside the bounds of the heap buffer. A local attacker can trigger heap-based buffer overflow and execute arbitrary code with root privileges.

Successful exploitation of the vulnerability may result in system compromise.

Affected software

HDF5
Debian Linux
Gentoo Linux
SUSE Linux Enterprise Desktop 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise Real Time 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Micro
Fedora
HPC Module
SUSE Package Hub 15
openSUSE Leap
hdf5
libhdf5hl_fortran_1_10_11-gnu-mvapich2-hpc-debuginfo
libhdf5_cpp_1_10_11-gnu-mvapich2-hpc-debuginfo
libhdf5_hl_cpp_1_10_11-gnu-hpc-debuginfo
hdf5_1_10_11-gnu-openmpi3-hpc-module
libhdf5_cpp_1_10_11-gnu-mpich-hpc
libhdf5_fortran-gnu-openmpi3-hpc
libhdf5_hl_cpp_1_10_11-gnu-openmpi3-hpc
libhdf5_hl_fortran-gnu-mvapich2-hpc
libhdf5_hl_cpp-gnu-mvapich2-hpc
libhdf5hl_fortran_1_10_11-gnu-mpich-hpc
libhdf5_1_10_11-gnu-openmpi3-hpc-debuginfo
libhdf5_hl_1_10_11-gnu-mvapich2-hpc-debuginfo
libhdf5_1_10_11-gnu-mvapich2-hpc
libhdf5_cpp-gnu-hpc
libhdf5-gnu-mvapich2-hpc
libhdf5_cpp_1_10_11-gnu-mpich-hpc-debuginfo
libhdf5_cpp_1_10_11-gnu-hpc
libhdf5_hl_cpp-gnu-openmpi4-hpc
hdf5_1_10_11-gnu-openmpi3-hpc-debuginfo
hdf5_1_10_11-gnu-openmpi3-hpc
libhdf5_hl_cpp-gnu-hpc
libhdf5_hl_cpp_1_10_11-gnu-mvapich2-hpc-debuginfo
libhdf5_fortran-gnu-mpich-hpc
libhdf5_1_10_11-gnu-hpc-debuginfo
hdf5_1_10_11-gnu-mpich-hpc-devel-static
libhdf5_hl_cpp_1_10_11-gnu-mpich-hpc-debuginfo
libhdf5hl_fortran_1_10_11-gnu-hpc-debuginfo
hdf5_1_10_11-gnu-hpc-devel
libhdf5_cpp-gnu-openmpi4-hpc
hdf5_1_10_11-hpc-examples
libhdf5hl_fortran_1_10_11-gnu-openmpi4-hpc-debuginfo
libhdf5_1_10_11-gnu-mvapich2-hpc-debuginfo
libhdf5_hl_1_10_11-gnu-hpc
libhdf5_cpp_1_10_11-gnu-openmpi3-hpc-debuginfo
libhdf5_hl_cpp_1_10_11-gnu-mvapich2-hpc
hdf5_1_10_11-gnu-mpich-hpc-devel
libhdf5_hl_1_10_11-gnu-mpich-hpc-debuginfo
libhdf5_fortran_1_10_11-gnu-hpc
hdf5_1_10_11-gnu-openmpi3-hpc-devel-static
libhdf5_fortran_1_10_11-gnu-openmpi3-hpc-debuginfo
hdf5_1_10_11-gnu-mvapich2-hpc
libhdf5_cpp_1_10_11-gnu-hpc-debuginfo
libhdf5_hl-gnu-openmpi4-hpc
libhdf5_fortran-gnu-hpc
libhdf5_cpp-gnu-openmpi3-hpc
hdf5_1_10_11-gnu-mpich-hpc-debugsource
libhdf5hl_fortran_1_10_11-gnu-mpich-hpc-debuginfo
libhdf5_hl-gnu-hpc
hdf5_1_10_11-gnu-openmpi4-hpc-debugsource
libhdf5_fortran-gnu-openmpi4-hpc
libhdf5_hl_1_10_11-gnu-openmpi3-hpc-debuginfo
hdf5_1_10_11-gnu-mvapich2-hpc-debugsource
libhdf5_hl_cpp_1_10_11-gnu-openmpi4-hpc-debuginfo
libhdf5hl_fortran_1_10_11-gnu-hpc
libhdf5_1_10_11-gnu-mpich-hpc-debuginfo
libhdf5-gnu-openmpi4-hpc
libhdf5_hl_cpp_1_10_11-gnu-openmpi4-hpc
libhdf5-gnu-openmpi3-hpc
libhdf5_hl_1_10_11-gnu-mvapich2-hpc
libhdf5_hl_fortran-gnu-openmpi4-hpc
hdf5_1_10_11-gnu-openmpi4-hpc
hdf5_1_10_11-gnu-openmpi4-hpc-module
libhdf5_cpp_1_10_11-gnu-openmpi4-hpc
libhdf5_hl_cpp_1_10_11-gnu-mpich-hpc
libhdf5_hl_1_10_11-gnu-mpich-hpc
libhdf5_hl_1_10_11-gnu-openmpi4-hpc-debuginfo
hdf5_1_10_11-gnu-openmpi4-hpc-debuginfo
hdf5_1_10_11-gnu-openmpi3-hpc-debugsource
libhdf5_hl_1_10_11-gnu-openmpi4-hpc
libhdf5_cpp_1_10_11-gnu-mvapich2-hpc
libhdf5_cpp-gnu-mvapich2-hpc
libhdf5_hl_1_10_11-gnu-hpc-debuginfo
libhdf5-gnu-hpc
libhdf5_hl_cpp_1_10_11-gnu-openmpi3-hpc-debuginfo
libhdf5hl_fortran_1_10_11-gnu-openmpi3-hpc-debuginfo
libhdf5_1_10_11-gnu-openmpi4-hpc
libhdf5_fortran_1_10_11-gnu-mpich-hpc
hdf5_1_10_11-gnu-mpich-hpc-debuginfo
libhdf5_1_10_11-gnu-openmpi4-hpc-debuginfo
hdf5_1_10_11-gnu-hpc
libhdf5_fortran_1_10_11-gnu-mpich-hpc-debuginfo
hdf5_1_10_11-gnu-openmpi4-hpc-devel-static
hdf5-hpc-examples
hdf5-gnu-hpc
hdf5-gnu-openmpi3-hpc
hdf5-gnu-openmpi3-hpc-devel
hdf5-gnu-mvapich2-hpc-devel
hdf5-gnu-mpich-hpc
hdf5-gnu-openmpi4-hpc-devel
hdf5-gnu-hpc-devel
hdf5-gnu-mvapich2-hpc
libhdf5_hl_cpp_1_10_11-gnu-hpc
hdf5-gnu-openmpi4-hpc
libhdf5_fortran_1_10_11-gnu-mvapich2-hpc-debuginfo
libhdf5_cpp_1_10_11-gnu-openmpi3-hpc
libhdf5_fortran_1_10_11-gnu-openmpi4-hpc
libhdf5hl_fortran_1_10_11-gnu-mvapich2-hpc
libhdf5_fortran_1_10_11-gnu-openmpi4-hpc-debuginfo
libhdf5_hl_1_10_11-gnu-openmpi3-hpc
libhdf5_hl_cpp-gnu-mpich-hpc
hdf5_1_10_11-gnu-mvapich2-hpc-devel-static
libhdf5_1_10_11-gnu-openmpi3-hpc
libhdf5_hl-gnu-mvapich2-hpc
libhdf5_hl_cpp-gnu-openmpi3-hpc
libhdf5hl_fortran_1_10_11-gnu-openmpi4-hpc
hdf5_1_10_11-gnu-mpich-hpc
libhdf5_1_10_11-gnu-hpc
hdf5_1_10_11-gnu-mvapich2-hpc-module
hdf5_1_10_11-gnu-hpc-debuginfo
libhdf5_hl_fortran-gnu-hpc
libhdf5-gnu-mpich-hpc
libhdf5_hl_fortran-gnu-mpich-hpc
libhdf5_1_10_11-gnu-mpich-hpc
hdf5_1_10_11-gnu-mvapich2-hpc-devel
libhdf5_hl_fortran-gnu-openmpi3-hpc
hdf5_1_10_11-gnu-openmpi4-hpc-devel
hdf5-gnu-mpich-hpc-devel
libhdf5_fortran-gnu-mvapich2-hpc
hdf5_1_10_11-gnu-openmpi3-hpc-devel
hdf5_1_10_11-gnu-hpc-debugsource
libhdf5_fortran_1_10_11-gnu-hpc-debuginfo
hdf5_1_10_11-gnu-hpc-module
libhdf5_cpp-gnu-mpich-hpc
libhdf5hl_fortran_1_10_11-gnu-openmpi3-hpc
libhdf5_cpp_1_10_11-gnu-openmpi4-hpc-debuginfo
hdf5_1_10_11-gnu-mvapich2-hpc-debuginfo
hdf5_1_10_11-gnu-hpc-devel-static
hdf5_1_10_11-gnu-mpich-hpc-module
libhdf5_fortran_1_10_11-gnu-mvapich2-hpc
libhdf5_hl-gnu-mpich-hpc
libhdf5_fortran_1_10_11-gnu-openmpi3-hpc
libhdf5_hl-gnu-openmpi3-hpc

How to mitigate CVE-2016-4332

Install update from vendor's website.

hdf5 - addressed in versions 1.8.5.patch1-10.el6, 1.8.12-8.el7, 1.8.17-2.fc25
libhdf5hl_fortran_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi3-hpc-module - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_fortran-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_fortran-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mpich-hpc-devel-static - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-hpc-devel - update to 1.10.11-150400.3.12.1
libhdf5_cpp-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-hpc-examples - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mpich-hpc-devel - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi3-hpc-devel-static - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mpich-hpc-debugsource - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl-gnu-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi4-hpc-debugsource - update to 1.10.11-150400.3.12.1
libhdf5_fortran-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mvapich2-hpc-debugsource - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_fortran-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi4-hpc-module - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi3-hpc-debugsource - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-openmpi3-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-mpich-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi4-hpc-devel-static - update to 1.10.11-150400.3.12.1
hdf5-hpc-examples - update to 1.10.11-150400.3.12.1
hdf5-gnu-hpc - update to 1.10.11-150400.3.12.1
hdf5-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
hdf5-gnu-openmpi3-hpc-devel - update to 1.10.11-150400.3.12.1
hdf5-gnu-mvapich2-hpc-devel - update to 1.10.11-150400.3.12.1
hdf5-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
hdf5-gnu-openmpi4-hpc-devel - update to 1.10.11-150400.3.12.1
hdf5-gnu-hpc-devel - update to 1.10.11-150400.3.12.1
hdf5-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
hdf5-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mvapich2-hpc-devel-static - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_cpp-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-openmpi4-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mvapich2-hpc-module - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
libhdf5_hl_fortran-gnu-hpc - update to 1.10.11-150400.3.12.1
libhdf5-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl_fortran-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_1_10_11-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mvapich2-hpc-devel - update to 1.10.11-150400.3.12.1
libhdf5_hl_fortran-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi4-hpc-devel - update to 1.10.11-150400.3.12.1
hdf5-gnu-mpich-hpc-devel - update to 1.10.11-150400.3.12.1
libhdf5_fortran-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-openmpi3-hpc-devel - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-hpc-debugsource - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-hpc-module - update to 1.10.11-150400.3.12.1
libhdf5_cpp-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5hl_fortran_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_cpp_1_10_11-gnu-openmpi4-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mvapich2-hpc-debuginfo - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-hpc-devel-static - update to 1.10.11-150400.3.12.1
hdf5_1_10_11-gnu-mpich-hpc-module - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-mvapich2-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl-gnu-mpich-hpc - update to 1.10.11-150400.3.12.1
libhdf5_fortran_1_10_11-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1
libhdf5_hl-gnu-openmpi3-hpc - update to 1.10.11-150400.3.12.1

External References

Related Security Bulletins