CVE-2024-29160
High · 7.4CVSS
7.4
EPSS
0.2%
Published
May 14, 2024
CISA due date
—
Cloudanix analysis
A flaw in a data library can let attackers crash programs or run their own code by feeding in specially crafted files.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Full Compromise
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Heap buffer overflow in H5HG__cache_heap_deserialize corrupts the instruction pointer, enabling denial of service or potential arbitrary code execution.
Why it matters to the business
Attackers may crash affected services or execute code on systems processing untrusted HDF5 files, leading to operational disruption and potential full system compromise; prevalence in dependent libraries increases exposure across many deployments.
How an attack unfolds
An attacker supplies a malicious HDF5 file that triggers the deserialization routine; the overflow overwrites the instruction pointer, allowing control-flow hijacking for code execution or a crash.
How to fix it
Upgrade grpc/grpc to commit 2485fa94bd8a723e5c977d55a3ce10b301b437f8 or later; rebuild and redeploy all affected applications; validate the update in test environments before production rollout.
How to confirm the fix worked
Confirm the deployed version includes commit 2485fa94bd8a723e5c977d55a3ce10b301b437f8; run regression tests with crafted HDF5 inputs to verify the overflow is no longer reachable.
Typical attack path
- Craft malicious HDF5 input that overflows the heap buffer during deserialization
- Deliver the file to an application using the vulnerable library
- Trigger deserialization to corrupt the instruction pointer
- Achieve denial of service or attempt code execution
How to detect it
Review application logs for crashes or segmentation faults during HDF5 deserialization; monitor for unexpected process termination or memory corruption indicators in affected services.
What your security team should do
- Prioritize upgrade to the fixed commit across all environments within 30 days
- Scan codebases and dependency graphs for HDF5 usage and flag any instances still on versions through 1.14.3
- Implement file-type sandboxing or input validation for HDF5 processing until patches are applied
The record
HDF5 through 1.14.3 contains a heap buffer overflow in H5HG__cache_heap_deserialize, resulting in the corruption of the instruction pointer and causing denial of service or potential code execution.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | hdf5 | 0 | No fix |
| Debian:12 | hdf5 | 0 | No fix |
| Debian:13 | hdf5 | 0 | No fix |
| Debian:13 | hdf5 | 0 | 1.14.5+repack-1 |
| Ubuntu:20.04:LTS | hdf5 | 0 | No fix |
| Ubuntu:22.04:LTS | hdf5 | 0 | No fix |
| Ubuntu:24.04:LTS | hdf5 | 0 | No fix |
| Ubuntu:24.10 | hdf5 | 0 | No fix |
| Ubuntu:25.04 | hdf5 | 0 | No fix |
| Ubuntu:25.10 | hdf5 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | hdf5 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | hdf5 | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | hdf5 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | hdf5 | 0 | No fix |
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