Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-17572

CVE-2026-17572: HDF5 Buffer Overflow Vulnerability

CVE-2026-17572 is a heap-based buffer overflow in HDF5 through version 2.1.1 that allows attackers to crash systems via crafted files. This post covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-17572 Overview

CVE-2026-17572 is a heap-based buffer overflow in the Shared Object Header Message (SOHM) list-index deserialization code of the HDF5 library through version 2.1.1. The flaw affects all platforms that link against vulnerable HDF5 builds. An attacker supplies a crafted HDF5 file whose shared-message list index declares a num_messages count exceeding list_max. Parsing this malformed metadata triggers out-of-bounds heap reads and writes inside H5SM__cache_list_deserialize and H5SM__cache_list_verify_chksum. The result is a denial of service through process crash. The weakness is tracked under CWE-125 (Out-of-bounds Read).

Critical Impact

Opening a malicious HDF5 file in an application that uses the vulnerable library crashes the process and can corrupt heap memory during parsing.

Affected Products

  • HDF5 library versions up to and including 2.1.1
  • Applications and scientific tooling that link against vulnerable HDF5 releases
  • Language bindings (Python h5py, PyTables, HDF5-Java, etc.) built on affected native libraries

Discovery Timeline

  • 2026-07-27 - CVE-2026-17572 published to NVD
  • 2026-07-30 - Last updated in NVD database

Technical Details for CVE-2026-17572

Vulnerability Analysis

HDF5 stores repeated header messages in a Shared Object Header Message (SOHM) table. When the table uses the list index format, the deserializer reads a num_messages field from the on-disk structure and iterates that many entries into a fixed-size in-memory list of list_max slots. The library does not validate that num_messages is less than or equal to list_max before iteration. A crafted file that inflates num_messages causes the deserializer to walk past the allocated buffer, producing out-of-bounds heap reads in H5SM__cache_list_verify_chksum and out-of-bounds writes in H5SM__cache_list_deserialize. The primary observable impact is a crash of the parsing process. The bug requires the victim to open an attacker-supplied file, so it is a local, user-interaction attack rather than a network-reachable vulnerability.

Root Cause

The root cause is missing input validation on a length field controlled by untrusted file content. The code trusts the persisted num_messages value and performs no bounds check against the compile-time or metadata-defined list_max capacity of the SOHM list index before writing entries.

Attack Vector

Exploitation requires an attacker to deliver a malformed .h5 or equivalent HDF5 container to a user or automated pipeline that parses it with the vulnerable library. Typical delivery paths include shared research datasets, model checkpoints, or ingest pipelines that accept HDF5 uploads. Because the file must be loaded locally, remote exploitation without user interaction is not possible.

No public proof-of-concept code is currently referenced in NVD. Technical discussion of the defect is available in the HDF5 GitHub issue #6501.

Detection Methods for CVE-2026-17572

Indicators of Compromise

  • Crashes or segmentation faults in processes linking libhdf5 while parsing user-supplied files
  • HDF5 files whose SOHM list-index header contains a num_messages value greater than the declared list_max
  • Unexpected termination of scientific computing, ML training, or data-ingest workers immediately after opening an HDF5 input

Detection Strategies

  • Inventory hosts and containers that ship libhdf5 and identify versions at or below 2.1.1
  • Validate HDF5 inputs at the ingest boundary by parsing metadata with a hardened tool and rejecting files where num_messages > list_max
  • Monitor endpoint telemetry for repeated crashes of Python, R, MATLAB, or C/C++ processes that load HDF5 files

Monitoring Recommendations

  • Alert on core dumps and abnormal process exits originating from data-processing services
  • Log the SHA-256 hash and origin of every HDF5 file consumed by pipelines to support incident response
  • Track library provenance in software bills of materials (SBOMs) to accelerate identification of vulnerable dependencies

How to Mitigate CVE-2026-17572

Immediate Actions Required

  • Upgrade HDF5 to a fixed release once published by The HDF Group and rebuild dependent applications
  • Restrict HDF5 parsing to trusted sources and sandbox ingestion of externally supplied files
  • Audit language bindings such as h5py and PyTables to confirm they load a patched native library

Patch Information

As of publication, tracking of the fix is available in the upstream HDF5 GitHub issue #6501. Consumers should monitor the HDF Group releases page for the version that supersedes 2.1.1 and integrate it into downstream distributions.

Workarounds

  • Run HDF5 parsers inside isolated processes or containers so a crash does not affect the host workflow
  • Pre-validate incoming files with a strict schema check that rejects SOHM list indexes where num_messages exceeds list_max
  • Disable automatic opening of HDF5 attachments in shared environments until the library is upgraded

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.