Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft HDF5 file with self-referential B-tree node
-
DeliveryDeliver file to victim user or pipeline
-
ExploitVictim opens file and calls H5Gget_info()/H5Gget_num_objs()
-
ExecutionH5B__iterate_helper recurses without level check
-
ImpactStack exhaustion crashes process (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | Exploitation requires the victim to open an attacker-crafted HDF5 file (AV:L, UI:P) and for the application to perform a group-iteration operation that reaches the vulnerable code path - specifically H5Gget_info() or H5Gget_num_objs() on a group, which calls into H5B_iterate() via H5G__obj_info() and H5G__stab_count(). The malicious file must contain a version 1 B-tree with a child pointer that refers back to a node already loaded in the metadata cache (e.g. a node pointing to itself), bypassing the level check that only runs in H5B__cache_deserialize(). Limiting factors: no network vector (local file handling required), required user interaction to open the file, and availability-only impact (process crash); there is no code execution or data disclosure. Affects HDF5 through 2.2.0. |
| Impact | This is a genuine but low-urgency vulnerability. The CVSS 4.0 base score is 4.3 (Medium) with vector AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H, meaning the only impact is availability (a crash) with no confidentiality or integrity effect. The exploitation-maturity metric is E:U (exploit not reported/unproven), there is no CISA KEV listing, and no EPSS score was supplied in the input. The vuln.today priority decision label is 'this_month', which is consistent with a real-but-not-emergency issue: a denial-of-service that requires AV:L (the attacker cannot reach it over the network - a malicious file must be opened on the host) and UI:P (the victim must take an action, i.e. open the crafted file). The signals are mutually consistent rather than conflicting: medium CVSS, no active exploitation, user-interaction and local-file prerequisites, and availability-only impact all point to a low-to-moderate real-world priority. No EPSS value was provided, so widespread-exploitation probability cannot be quantified from the input. This is best treated as a stability/robustness bug to patch on a normal cycle rather than a high-priority incident, because the worst outcome is a crash of the process parsing the file. |
| Exploit ScenarioDerived | An attacker crafts a malicious HDF5 file containing a version 1 B-tree whose child pointer refers back to a node already in the metadata cache (for example, a node that points to itself). They send or host the file and get a user or an automated pipeline to open it; when the application calls H5Gget_info() or H5Gget_num_objs() on a group, the library enters unbounded recursion and exhausts the stack, crashing the process. No public exploit was identified at time of analysis, and the attack requires local file handling plus user interaction, so it is limited to denial of service. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
Uncontrolled recursion in HDF5 (through 2.2.0) lets a crafted HDF5 file crash an application that inspects group metadata: a version 1 B-tree whose child pointer refers back to an already-cached node - such as a node pointing to itself - drives H5B__iterate_helper() into unbounded recursion and exhausts the stack. The victim must open the malicious file and the application must reach the vulnerable path through H5Gget_info() or H5Gget_num_objs() on a group, which routes via H5G__obj_info() and H5G__stab_count() into H5B_iterate(); no privileges are required, but user interaction to open the file is. Impact is availability-only (process crash), with no code execution or data disclosure reported, and no public exploit was identified at time of analysis; the disclosed reference is the upstream issue report rather than working exploit code.
RemediationAI
No vendor-released fix version is identified in the available data, so the primary action is to track the upstream issue at https://github.com/HDFGroup/hdf5/issues/6403 for a patched release and upgrade to it once published; the underlying correction is a level-consistency check inside H5B__iterate_helper() so cache-resident nodes cannot be re-entered recursively. Because the crash only occurs when group iteration runs against a malicious version 1 B-tree, the most direct compensating control is to avoid calling H5Gget_info() and H5Gget_num_objs() on any HDF5 file that has not been validated or received from a trusted source, accepting that applications depending on group enumeration lose that functionality for untrusted inputs. Where enumeration is required, gate file ingestion behind a validator or conversion step in a separate, resource-limited worker process, and run HDF5 parsing with a constrained stack and memory rlimit so that unbounded recursion terminates the worker rather than the host application - the trade-off is reduced throughput and the loss of in-process error recovery. Treating HDF5 files as untrusted content and preventing their automatic open from documents, downloads, or user-supplied uploads removes the required user-interaction step, at the cost of manual review for legitimate files.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
HDF5 stores group contents in version 1 B-trees (symbol-table nodes) whose nodes carry a level field. The library validates that a child node's level matches the expected level only in H5B__cache_deserialize(), i.e. at the moment a node is first loaded into the metadata cache. H5B__iterate_helper() in src/H5B.c walks the tree without repeating that check, so a node that is already resident in the cache - including one whose child pointer refers back to itself - is reused rather than re-deserialized, the level consistency check is skipped, and iteration recurses without bound until the stack is exhausted. The flaw is classed as CWE-674 (Uncontrolled Recursion); the practical consequence is a recursive-descent crash during group iteration rather than memory corruption. The affected component is the HDF Group's HDF5 library, covered by the CPE cpe:2.3:a:the_hdf_group:hdf5:*:*:*:*:*:*:*:* across all versions through 2.2.0. The trigger described in the available sources is a group-info operation (H5Gget_info() or H5Gget_num_objs()) on a group reachable through a crafted version 1 B-tree inside an untrusted file.
Know when Hdf5 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:U
A local malicious file must be opened (AV:L, UI:R) with no privileges or prior auth (PR:N); the flaw is deterministic to trigger (AC:L) and only crashes the process (A:H, C/I:N).
Primary rating from Vendor (HDFG).
CVSS VectorVendor: HDFG
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
An issue was discovered in the HDF HDF5 1.8.20 library. Rated critical severity (CVSS 9.8), this vulnerability is remote
In HDF5 1.10.1, there is an out of bounds write vulnerability in the function H5G__ent_decode_vec in H5Gcache.c in libhd
hdf5 v1.14.6 was discovered to contain a heap buffer overflow via the H5VM_memcpyvv function. Rated high severity (CVSS
EUVD-2026-115545
GHSA-6384-wh38-r9pf
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB