{"id":"UBUNTU-CVE-2026-120689","details":"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.","modified":"2026-11-04T03:30:39.647757195Z","published":"2026-11-03T00:00:00Z","upstream":["CVE-2026-120689"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-120689"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-120689"},{"type":"REPORT","url":"https://github.com/HDFGroup/hdf5/issues/6403"}],"affected":[{"package":{"name":"hdf5","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=esm-infra-legacy%2Ftrusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.11-3ubuntu1","1.8.11-5ubuntu1","1.8.11-5ubuntu2","1.8.11-5ubuntu6","1.8.11-5ubuntu7","1.8.11-5ubuntu7.1","1.8.11-5ubuntu7.1+esm1","1.8.11-5ubuntu7.1+esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"1.8.11-5ubuntu7.1+esm2","binary_name":"hdf5-helpers"},{"binary_version":"1.8.11-5ubuntu7.1+esm2","binary_name":"hdf5-tools"},{"binary_name":"libhdf5-7","binary_version":"1.8.11-5ubuntu7.1+esm2"},{"binary_version":"1.8.11-5ubuntu7.1+esm2","binary_name":"libhdf5-mpich2-7"},{"binary_version":"1.8.11-5ubuntu7.1+esm2","binary_name":"libhdf5-openmpi-7"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=esm-apps%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.15-patch1+docs-4","1.8.15-patch1+docs-5","1.8.16+docs-1","1.8.16+docs-2","1.8.16+docs-3","1.8.16+docs-3ubuntu1","1.8.16+docs-4","1.8.16+docs-4ubuntu1","1.8.16+docs-4ubuntu1.1","1.8.16+docs-4ubuntu1.1+esm1","1.8.16+docs-4ubuntu1.1+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"hdf5-helpers","binary_version":"1.8.16+docs-4ubuntu1.1+esm2"},{"binary_name":"hdf5-tools","binary_version":"1.8.16+docs-4ubuntu1.1+esm2"},{"binary_version":"1.8.16+docs-4ubuntu1.1+esm2","binary_name":"libhdf5-10"},{"binary_version":"1.8.16+docs-4ubuntu1.1+esm2","binary_name":"libhdf5-cpp-11"},{"binary_name":"libhdf5-mpich-10","binary_version":"1.8.16+docs-4ubuntu1.1+esm2"},{"binary_name":"libhdf5-openmpi-10","binary_version":"1.8.16+docs-4ubuntu1.1+esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=esm-apps%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.0-patch1+docs-4","1.10.0-patch1+docs-4ubuntu0.1~esm1","1.10.0-patch1+docs-4ubuntu0.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"hdf5-helpers","binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2"},{"binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2","binary_name":"hdf5-tools"},{"binary_name":"libhdf5-100","binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2"},{"binary_name":"libhdf5-cpp-100","binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2"},{"binary_name":"libhdf5-java","binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2"},{"binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2","binary_name":"libhdf5-jni"},{"binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2","binary_name":"libhdf5-mpich-100"},{"binary_name":"libhdf5-openmpi-100","binary_version":"1.10.0-patch1+docs-4ubuntu0.1~esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=esm-apps%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.4+repack-10","1.10.4+repack-11","1.10.4+repack-11ubuntu1","1.10.4+repack-11ubuntu1+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"hdf5-helpers","binary_version":"1.10.4+repack-11ubuntu1+esm1"},{"binary_name":"hdf5-tools","binary_version":"1.10.4+repack-11ubuntu1+esm1"},{"binary_name":"libhdf5-103","binary_version":"1.10.4+repack-11ubuntu1+esm1"},{"binary_version":"1.10.4+repack-11ubuntu1+esm1","binary_name":"libhdf5-cpp-103"},{"binary_version":"1.10.4+repack-11ubuntu1+esm1","binary_name":"libhdf5-java"},{"binary_name":"libhdf5-jni","binary_version":"1.10.4+repack-11ubuntu1+esm1"},{"binary_name":"libhdf5-mpich-103","binary_version":"1.10.4+repack-11ubuntu1+esm1"},{"binary_name":"libhdf5-openmpi-103","binary_version":"1.10.4+repack-11ubuntu1+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.6+repack-5","1.10.7+repack-4ubuntu1","1.10.7+repack-4ubuntu2"],"ecosystem_specific":{"binaries":[{"binary_name":"hdf5-helpers","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"hdf5-tools","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-103","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-103-1","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-cpp-103","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-cpp-103-1","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-fortran-102","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_version":"1.10.7+repack-4ubuntu2","binary_name":"libhdf5-hl-100"},{"binary_version":"1.10.7+repack-4ubuntu2","binary_name":"libhdf5-hl-cpp-100"},{"binary_version":"1.10.7+repack-4ubuntu2","binary_name":"libhdf5-hl-fortran-100"},{"binary_name":"libhdf5-java","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-jni","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-mpich-103","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-mpich-103-1","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-mpich-cpp-103-1","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_version":"1.10.7+repack-4ubuntu2","binary_name":"libhdf5-mpich-fortran-102"},{"binary_name":"libhdf5-mpich-hl-100","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-mpich-hl-cpp-100","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-mpich-hl-fortran-100","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-openmpi-103","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-openmpi-103-1","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-openmpi-cpp-103-1","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_version":"1.10.7+repack-4ubuntu2","binary_name":"libhdf5-openmpi-fortran-102"},{"binary_name":"libhdf5-openmpi-hl-100","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-openmpi-hl-cpp-100","binary_version":"1.10.7+repack-4ubuntu2"},{"binary_name":"libhdf5-openmpi-hl-fortran-100","binary_version":"1.10.7+repack-4ubuntu2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.10.8+repack1-1ubuntu1","1.10.10+repack-3ubuntu1","1.10.10+repack-3.1ubuntu3","1.10.10+repack-3.1ubuntu4"],"ecosystem_specific":{"binaries":[{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"hdf5-helpers"},{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"hdf5-tools"},{"binary_name":"libhdf5-103-1t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-cpp-103-1t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"libhdf5-fortran-102t64"},{"binary_name":"libhdf5-hl-100t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"libhdf5-hl-cpp-100t64"},{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"libhdf5-hl-fortran-100t64"},{"binary_name":"libhdf5-java","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-jni","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-mpich-103-1t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-mpich-cpp-103-1t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-mpich-fortran-102t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"libhdf5-mpich-hl-100t64"},{"binary_name":"libhdf5-mpich-hl-cpp-100t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-mpich-hl-fortran-100t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-openmpi-103-1t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-openmpi-cpp-103-1t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-openmpi-fortran-102t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_name":"libhdf5-openmpi-hl-100t64","binary_version":"1.10.10+repack-3.1ubuntu4"},{"binary_version":"1.10.10+repack-3.1ubuntu4","binary_name":"libhdf5-openmpi-hl-cpp-100t64"},{"binary_name":"libhdf5-openmpi-hl-fortran-100t64","binary_version":"1.10.10+repack-3.1ubuntu4"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:26.10","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=stonking"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.14.6+repack-2","2.2.0+repack-4","2.2.0+repack-5"],"ecosystem_specific":{"binaries":[{"binary_name":"hdf5-helpers","binary_version":"2.2.0+repack-5"},{"binary_version":"2.2.0+repack-5","binary_name":"hdf5-tools"},{"binary_version":"2.2.0+repack-5","binary_name":"libhdf5-320"},{"binary_name":"libhdf5-cpp-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-fortran-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-hl-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-hl-cpp-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-hl-fortran-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-java","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-jni","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-mpich-320","binary_version":"2.2.0+repack-5"},{"binary_version":"2.2.0+repack-5","binary_name":"libhdf5-mpich-cpp-320"},{"binary_name":"libhdf5-mpich-fortran-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-mpich-hl-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-mpich-hl-cpp-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-mpich-hl-fortran-320","binary_version":"2.2.0+repack-5"},{"binary_version":"2.2.0+repack-5","binary_name":"libhdf5-openmpi-320"},{"binary_name":"libhdf5-openmpi-cpp-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-openmpi-fortran-320","binary_version":"2.2.0+repack-5"},{"binary_version":"2.2.0+repack-5","binary_name":"libhdf5-openmpi-hl-320"},{"binary_name":"libhdf5-openmpi-hl-cpp-320","binary_version":"2.2.0+repack-5"},{"binary_name":"libhdf5-openmpi-hl-fortran-320","binary_version":"2.2.0+repack-5"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}},{"package":{"name":"hdf5","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/hdf5?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.14.5+repack-3build1","1.14.5+repack-4","1.14.6+repack-2"],"ecosystem_specific":{"binaries":[{"binary_name":"hdf5-helpers","binary_version":"1.14.6+repack-2"},{"binary_name":"hdf5-tools","binary_version":"1.14.6+repack-2"},{"binary_version":"1.14.6+repack-2","binary_name":"libhdf5-310"},{"binary_name":"libhdf5-cpp-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-fortran-310","binary_version":"1.14.6+repack-2"},{"binary_version":"1.14.6+repack-2","binary_name":"libhdf5-hl-310"},{"binary_name":"libhdf5-hl-cpp-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-hl-fortran-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-java","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-jni","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-mpich-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-mpich-cpp-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-mpich-fortran-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-mpich-hl-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-mpich-hl-cpp-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-mpich-hl-fortran-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-openmpi-310","binary_version":"1.14.6+repack-2"},{"binary_version":"1.14.6+repack-2","binary_name":"libhdf5-openmpi-cpp-310"},{"binary_name":"libhdf5-openmpi-fortran-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-openmpi-hl-310","binary_version":"1.14.6+repack-2"},{"binary_name":"libhdf5-openmpi-hl-cpp-310","binary_version":"1.14.6+repack-2"},{"binary_version":"1.14.6+repack-2","binary_name":"libhdf5-openmpi-hl-fortran-310"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-120689.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V4","score":"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"},{"type":"Ubuntu","score":"medium"}]}