Every CVE Search/ Get API key

CVE-2026-120689

Uncontrolled Recursion in HDF5 H5B__iterate_helper() via Crafted File

4.3 Medium

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.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Passive

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
High

Exploit likelihood

0.18%Unchanged since Nov 3, 2026
90%50%10%1%

What each source reports

CVE List Score used 4.3

Uncontrolled Recursion in HDF5 H5B__iterate_helper() via Crafted File

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.

Record
CVE-2026-120689
CVSS 4.0
4.3 MediumCVSS: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
Weakness
CWE-674
Updated
2026-11-02
EUVDEUVD-2026-115545 4.3

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.

Record
EUVD-2026-115545
CVSS 4.0
4.3 MediumCVSS: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
Updated
2026-11-03
GitHub AdvisoriesGHSA-6384-wh38-r9pf 4.3

HDF5 through 2.2.0 contains an uncontrolled recursion vulnerability in H5B__iterate_helper() in...

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.

Record
GHSA-6384-wh38-r9pf
CVSS 4.0
4.3 MediumCVSS: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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-674
Updated
2026-11-03
NVD 4.3

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.

Record
CVE-2026-120689
CVSS 4.0
4.3 MediumCVSS: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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-674
Updated
2026-11-03
OSV 4.3

Uncontrolled Recursion in HDF5 H5B__iterate_helper() via Crafted File

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.

Record
CVE-2026-120689
CVSS 4.0
4.3 MediumCVSS: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
Updated
2026-11-07
OSVDEBIAN-CVE-2026-120689 4.3

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.

Record
DEBIAN-CVE-2026-120689
CVSS 4.0
4.3 MediumCVSS: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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-04
OSVUBUNTU-CVE-2026-120689 4.3

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.

Record
UBUNTU-CVE-2026-120689
CVSS 4.0
4.3 MediumCVSS: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
Updated
2026-11-05
OSVAZL-112526 No score

CVE-2026-120689 affecting package hdf5 1.14.6-6

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.

Record
AZL-112526
Updated
2026-11-05

Affected products

Affected packages

Affected packages
PackageAffectedFixed
hdf5
Azure Linux:3
through 1.14.6-6 None known
hdf5
Debian:12
All versions, plus listed versions
1.10.10+repack-11.10.10+repack-21.10.10+repack-31.10.10+repack-3.11.10.10+repack-3.2
Show 45 moreShow less
1.10.10+repack-3.2+ports1.10.10+repack-3.31.10.10+repack-41.10.10+repack-51.10.8+repack1-11.12.0+repack-1~exp11.12.0+repack-1~exp21.12.2+repack-1~exp11.14.3+repack-1~exp11.14.3+repack1-1~exp21.14.3+repack1-1~exp31.14.4.3+repack-1~exp11.14.4.3+repack-1~exp21.14.4.3+repack-1~exp31.14.5+repack-11.14.5+repack-1~exp11.14.5+repack-1~exp21.14.5+repack-1~exp31.14.5+repack-1~exp41.14.5+repack-1~exp51.14.5+repack-1~exp61.14.5+repack-21.14.5+repack-31.14.5+repack-3.11.14.5+repack-3~exp11.14.5+repack-3~exp21.14.5+repack-3~exp31.14.5+repack-3~exp41.14.5+repack-41.14.5+repack-4~exp11.14.5+repack-4~exp21.14.5+repack-5~exp21.14.5+repack-5~exp31.14.6+repack-11.14.6+repack-1~exp11.14.6+repack-1~exp101.14.6+repack-1~exp111.14.6+repack-1~exp121.14.6+repack-1~exp131.14.6+repack-1~exp141.14.6+repack-1~exp151.14.6+repack-1~exp161.14.6+repack-1~exp171.14.6+repack-1~exp181.14.6+repack-1~exp19
None known
hdf5
Debian:13
All versions, plus listed versions
1.14.5+repack-31.14.5+repack-3.11.14.5+repack-41.14.5+repack-4~exp11.14.5+repack-4~exp2
Show 42 moreShow less
1.14.5+repack-5~exp21.14.5+repack-5~exp31.14.6+repack-11.14.6+repack-1~exp11.14.6+repack-1~exp101.14.6+repack-1~exp111.14.6+repack-1~exp121.14.6+repack-1~exp131.14.6+repack-1~exp141.14.6+repack-1~exp151.14.6+repack-1~exp161.14.6+repack-1~exp171.14.6+repack-1~exp181.14.6+repack-1~exp191.14.6+repack-1~exp21.14.6+repack-1~exp201.14.6+repack-1~exp211.14.6+repack-1~exp31.14.6+repack-1~exp41.14.6+repack-1~exp51.14.6+repack-1~exp61.14.6+repack-1~exp71.14.6+repack-1~exp81.14.6+repack-1~exp91.14.6+repack-21.14.6+repack-3~exp12.1.0+repack-12.1.0+repack-1~exp102.1.0+repack-1~exp112.1.0+repack-1~exp32.1.0+repack-1~exp42.1.0+repack-1~exp52.1.0+repack-1~exp62.1.0+repack-1~exp72.1.0+repack-1~exp82.1.0+repack-1~exp92.2.0+repack-12.2.0+repack-22.2.0+repack-32.2.0+repack-42.2.0+repack-52.2.0+repack-6
None known
hdf5
Debian:14
All versions, plus listed versions
1.14.5+repack-31.14.5+repack-3.11.14.5+repack-41.14.5+repack-4~exp11.14.5+repack-4~exp2
Show 42 moreShow less
1.14.5+repack-5~exp21.14.5+repack-5~exp31.14.6+repack-11.14.6+repack-1~exp11.14.6+repack-1~exp101.14.6+repack-1~exp111.14.6+repack-1~exp121.14.6+repack-1~exp131.14.6+repack-1~exp141.14.6+repack-1~exp151.14.6+repack-1~exp161.14.6+repack-1~exp171.14.6+repack-1~exp181.14.6+repack-1~exp191.14.6+repack-1~exp21.14.6+repack-1~exp201.14.6+repack-1~exp211.14.6+repack-1~exp31.14.6+repack-1~exp41.14.6+repack-1~exp51.14.6+repack-1~exp61.14.6+repack-1~exp71.14.6+repack-1~exp81.14.6+repack-1~exp91.14.6+repack-21.14.6+repack-3~exp12.1.0+repack-12.1.0+repack-1~exp102.1.0+repack-1~exp112.1.0+repack-1~exp32.1.0+repack-1~exp42.1.0+repack-1~exp52.1.0+repack-1~exp62.1.0+repack-1~exp72.1.0+repack-1~exp82.1.0+repack-1~exp92.2.0+repack-12.2.0+repack-22.2.0+repack-32.2.0+repack-42.2.0+repack-52.2.0+repack-6
None known
hdf5
Ubuntu:Pro:14.04:LTS
All versions, plus listed versions
1.8.11-3ubuntu11.8.11-5ubuntu11.8.11-5ubuntu21.8.11-5ubuntu61.8.11-5ubuntu71.8.11-5ubuntu7.11.8.11-5ubuntu7.1+esm11.8.11-5ubuntu7.1+esm2
None known
hdf5
Ubuntu:Pro:16.04:LTS
All versions, plus listed versions
1.8.15-patch1+docs-41.8.15-patch1+docs-51.8.16+docs-11.8.16+docs-21.8.16+docs-3
Show 6 moreShow less
1.8.16+docs-3ubuntu11.8.16+docs-41.8.16+docs-4ubuntu11.8.16+docs-4ubuntu1.11.8.16+docs-4ubuntu1.1+esm11.8.16+docs-4ubuntu1.1+esm2
None known
hdf5
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
1.10.0-patch1+docs-41.10.0-patch1+docs-4ubuntu0.1~esm11.10.0-patch1+docs-4ubuntu0.1~esm2
None known
hdf5
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
1.10.4+repack-101.10.4+repack-111.10.4+repack-11ubuntu11.10.4+repack-11ubuntu1+esm1
None known
hdf5
Ubuntu:22.04:LTS
All versions, plus listed versions
1.10.6+repack-51.10.7+repack-4ubuntu11.10.7+repack-4ubuntu2
None known
hdf5
Ubuntu:24.04:LTS
All versions, plus listed versions
1.10.8+repack1-1ubuntu11.10.10+repack-3ubuntu11.10.10+repack-3.1ubuntu31.10.10+repack-3.1ubuntu4
None known
hdf5
Ubuntu:26.10
All versions, plus listed versions
1.14.6+repack-22.2.0+repack-42.2.0+repack-5
None known
hdf5
Ubuntu:26.04:LTS
All versions, plus listed versions
1.14.5+repack-3build11.14.5+repack-41.14.6+repack-2
None known

History

History
RecordedChangedSources
affected, aliases, referencesOSV
factsNVD
affected, aliases, referencesOSV
referencesOSV
aliases, products, publishedEUVD
aliases, referencesGitHub Advisories, NVD
first indexedCVE List

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-120689 is a medium vulnerability (CVSS 4.3) in Hdfgroup Hdf5, published November 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.18%, the 7th percentile. No source names a fixed version.

References

This page doesn't list everything

Left out here: 28 versions. The JSON record has them.

MoveEnter Open