CVE-2017-17505
Medium · 6.5CVSS
6.5
EPSS
1.2%
Published
Dec 11, 2017
CISA due date
—
Cloudanix analysis
A data-file library can crash programs when they try to open certain specially made files, stopping any work that depends on those files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability triggers a NULL pointer dereference inside H5O_pline_decode in libhdf5 when parsing a crafted HDF5 file, resulting in an immediate process crash.
Why it matters to the business
Applications that read HDF5 files can be forced offline by a single malicious file, interrupting scientific, engineering, or analytics workloads that depend on the library.
How an attack unfolds
An attacker prepares a specially malformed HDF5 file that exercises the defective decode path and then convinces a victim to open the file with h5dump or any program linked against the vulnerable library version.
How to fix it
Upgrade the HDF5 library to a version newer than 1.10.1 as soon as a fix is released by the HDF Group; in the interim, restrict processing to trusted files only.
How to confirm the fix worked
Attempt to open a known trigger file with the updated library and confirm the process no longer crashes; re-test all internal tools and pipelines that consume HDF5 data.
Typical attack path
- Construct a malicious HDF5 file that reaches the NULL dereference in H5O_pline_decode
- Deliver the file through email, web download, or shared storage
- Victim opens the file using an affected HDF5 tool or application
- Library dereferences NULL and the process terminates
How to detect it
Search application and system logs for sudden crashes of h5dump, h5ls, or other HDF5-linked processes immediately after a file-open operation; correlate timestamps with receipt of new or external HDF5 files.
What your security team should do
- Inventory every application or container that ships or links libhdf5 and schedule upgrades
- Add file-type sandboxing or content-disposition checks before any HDF5 processing
- Track HDF Group release announcements for the availability of a patched 1.10.x or later branch
The record
In HDF5 1.10.1, there is a NULL pointer dereference in the function H5O_pline_decode in the H5Opline.c file in libhdf5.a. For example, h5dump would crash when someone opens a crafted hdf5 file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | hdf5 | 0 | 1.10.4+repack-1 |
| Debian:12 | hdf5 | 0 | 1.10.4+repack-1 |
| Debian:13 | hdf5 | 0 | 1.10.4+repack-1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | hdf5_1_10_8-gnu-mpich-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-ESPOS | hdf5_1_10_8-gnu-openmpi2-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | hdf5_1_10_8-gnu-mpich-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | hdf5_1_10_8-gnu-openmpi2-hpc | 0 | 1.10.8-150100.7.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | hdf5_1_10_8-gnu-mpich-hpc | 0 | 1.10.8-150200.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | hdf5_1_10_8-gnu-openmpi2-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-ESPOS | hdf5_1_10_8-gnu-openmpi3-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | hdf5_1_10_8-gnu-mpich-hpc | 0 | 1.10.8-150200.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | hdf5_1_10_8-gnu-openmpi2-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | hdf5_1_10_8-gnu-openmpi3-hpc | 0 | 1.10.8-150200.8.4.2 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | hdf5_1_10_8-gnu-mpich-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | hdf5_1_10_8-gnu-openmpi2-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-ESPOS | suse-hpc | 0 | 0.5.20220206.0c6b168-150000.11.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | hdf5_1_10_8-gnu-mpich-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | hdf5_1_10_8-gnu-openmpi2-hpc | 0 | 1.10.8-150000.8.4.3 |
| SUSE:Linux Enterprise High Performance Computing 15-LTSS | suse-hpc | 0 | 0.5.20220206.0c6b168-150000.11.3.1 |
| SUSE:Linux Enterprise Module for HPC 12 | hdf5_1_10_8-gnu-hpc | 0 | 1.10.8-3.12.2 |
| SUSE:Linux Enterprise Module for HPC 12 | hdf5_1_10_8-gnu-mvapich2-hpc | 0 | 1.10.8-3.12.2 |
| SUSE:Linux Enterprise Module for HPC 12 | hdf5_1_10_8-gnu-openmpi1-hpc | 0 | 1.10.8-3.12.2 |
| SUSE:Linux Enterprise Module for HPC 12 | suse-hpc | 0 | 0.5.20220206.0c6b168-5.2 |
| Ubuntu:Pro:14.04:LTS | hdf5 | 0 | 1.8.11-5ubuntu7.1+esm1 |
| Ubuntu:Pro:16.04:LTS | hdf5 | 0 | 1.8.16+docs-4ubuntu1.1+esm1 |
| Ubuntu:Pro:18.04:LTS | hdf5 | 0 | 1.10.0-patch1+docs-4ubuntu0.1~esm1 |
Related vulnerabilities
- CVE-2024-32608 [Unknown description] Also affects hdf5
- CVE-2024-33876 HDF5 Library through 1.14.3 has a heap buffer overflow in H5S__point_deserialize in… Also affects hdf5
- CVE-2024-33875 HDF5 Library through 1.14.3 has a heap-based buffer overflow in H5O__layout_encode in… Also affects hdf5
- CVE-2024-33877 HDF5 Library through 1.14.3 has a heap-based buffer overflow in H5T__conv_struct_opt in… Also affects hdf5
- CVE-2024-33873 HDF5 Library through 1.14.3 has a heap-based buffer overflow in H5D__scatter_mem in… Also affects hdf5
- CVE-2024-33874 HDF5 Library through 1.14.3 has a heap buffer overflow in H5O__mtime_new_encode in… Also affects hdf5
- CVE-2024-32624 HDF5 Library through 1.14.3 contains a heap-based buffer overflow in H5T__ref_mem_setnull… Also affects hdf5
- CVE-2024-32619 HDF5 Library through 1.14.3 contains a heap-based buffer overflow in H5T_copy_reopen in… Also affects hdf5