Read the docs

Uncontrolled recursion in HDF5 lets crafted files crash applications

Priority LOW 19Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Passive
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 2 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and Red Hat.

Summary

HDF5 through 2.2.0 contains uncontrolled recursion in H5B__iterate_helper() when it iterates a version 1 B-tree. The function does not check that a child node's level matches the expected level, so a crafted file whose child pointer refers to an already cached node recurses without limit. Calling H5Gget_info() on a group in such a file exhausts the stack and crashes. An attacker who gets a user to open a malicious file can cause a denial of service.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

Description from the CNA

HDF5 through 2.2.0 contains an uncontrolled recursion vulnerability in H5B__iterate_helper() in src/H5B.c. When iterating a version 1 B-tree, the function does not verify that a child node’s level matches the expected level. That check is performed only in H5B__cache_deserialize() when a node is first loaded into the metadata cache. A crafted HDF5 file whose B-tree child pointer refers back to a node already in the cache, such as a node that points to itself, bypasses the check and causes unbounded recursion, leading to stack exhaustion and a crash. This can be triggered by calling H5Gget_info() or H5Gget_num_objs() on a group in the crafted file, which reaches H5B_iterate() through H5G__obj_info() and H5G__stab_count(). An attacker who can get a user or application to open a malicious file can cause a denial of service.

Why it matters now

EPSS 0.00176 7th percentileScored 2026-11-07
Fix Partial HDF5 (The HDF Group): 2.3.0Red Hat: 2 without a fix

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
The HDF GroupHDF5before 2.3.02.3.0Patch availableCNA
  • HDF5 VendorThe HDF Group Affected before 2.3.0 Fixed in 2.3.0 Patch available CNA

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:hdfgroup:hdf5:*:*:*:*:*:*:*:*——The HDF Group
  • cpe:2.3:a:hdfgroup:hdf5:*:*:*:*:*:*:*:* Versions — — ·The HDF Group

Remediation

For HDF5, upgrade to 2.3.0, which fixes the flaw. Red Hat lists Red Hat Enterprise Linux AI (RHEL AI) 3 and Red Hat OpenStack Platform 13 (Queens) as affected without a fix, with no plan available.

Written with Claude Haiku 5.5 from the sources below · 2026-11-04

  • Fix · CNA HDF5 (The HDF Group) Fixed in 2.3.0

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenStack Platform 13 (Queens)AffectedNo fix yet: Fix deferred
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-11-02 Threatist record created from CVE-2026-120689
  2. 2026-11-02 Alias added: GHSA-6384-wh38-r9pf
  3. 2026-11-04 Affected versions changed · Red Hat
  4. 2026-11-04 CVSS score added · Red Hat

References

  • TI-2025-28698 hdf5 v1.14.6 was discovered to contain a heap buffer overflow via the H5Z__filter_scaleoffset function. CVSS 3.1HIGH 8.8
  • TI-2025-28697 hdf5 v1.14.6 was discovered to contain a heap buffer overflow via the H5VM_memcpyvv function. CVSS 3.1HIGH 8.8
  • TI-2020-13412 Buffer Overflow vulnerability in function H5S_close in H5S.c in HDF5 1.10.4 allows remote… CVSS 3.1HIGH 8.8
  • TI-2021-15413 Buffer Overflow vulnerability in HDFGroup hdf5-h5dump 1.12.0 through 1.13.0 allows… CVSS 3.1HIGH 7.5
  • TI-2026-26978 HDF5: H5T__conv_struct Use After Free CVSS 3.1HIGH 7.8
  • TI-2026-15548 HDF5 H5Pget_fill_value NULL Pointer Dereference via Malformed Fill Value Message CVSS 4.0HIGH 8.2
See all 150 →

Sources