CVE-2026-120757
Heap Buffer Over-read via Non-Terminated Link Data in H5L__extern_traverse
CVE-2026-120757 is a medium vulnerability (CVSS 6.9) in Hdfgroup Hdf5, published November 3, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.15%, the 4th percentile. No source names a fixed version.
- Severity
- 6.9 MediumCVSS 4.0, CVE List
- Exploit chance
- 0.15%EPSS, 4th percentile
- Exploitation
- None knownNot on CISA’s or ENISA’s lists
- Fixed in
- No fix listedNo source names one
Description
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
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
- Low
- Integrity
- None
- Availability
- High
Exploit likelihood
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
hdf5Azure Linux:3 | through 1.14.6-6 | None known |
hdf5Debian: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 less1.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 |
hdf5Debian: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 less1.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 |
hdf5Debian: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 less1.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 |
hdf5Red Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-develRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-mpichRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-mpich-develRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-mpich-staticRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-openmpiRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
Show 12 moreShow less
| Package | Affected | Fixed |
|---|---|---|
hdf5-openmpi-develRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-openmpi-staticRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5-staticRed Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
java-hdf5Red Hat:hummingbird:1 From an advisory covering 3 CVEs | before 0:2.2.0-0.1.5.hum1 | 0:2.2.0-0.1.5.hum1 |
hdf5Ubuntu: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 |
hdf5Ubuntu: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 less1.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 |
hdf5Ubuntu: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 |
hdf5Ubuntu: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 |
hdf5Ubuntu:22.04:LTS | All versions, plus listed versions 1.10.6+repack-51.10.7+repack-4ubuntu11.10.7+repack-4ubuntu2 | None known |
hdf5Ubuntu: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 |
hdf5Ubuntu:26.10 | All versions, plus listed versions 1.14.6+repack-22.2.0+repack-42.2.0+repack-5 | None known |
hdf5Ubuntu:26.04:LTS | All versions, plus listed versions 1.14.5+repack-3build11.14.5+repack-41.14.6+repack-2 | None known |
What each source reports
CVE List Score used 6.9
Heap Buffer Over-read via Non-Terminated Link Data in H5L__extern_traverse
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
CVE-2026-120757- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-125
- Updated
- 2026-11-03
EUVDEUVD-2026-116012 6.9
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
EUVD-2026-116012- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-2qgq-73w8-3hrx 6.9
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in...
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
GHSA-2qgq-73w8-3hrx- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/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 - CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-03
NVD 6.9
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
CVE-2026-120757- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/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 - CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-04
OSV 6.9
Heap Buffer Over-read via Non-Terminated Link Data in H5L__extern_traverse
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
CVE-2026-120757- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-125
- Updated
- 2026-11-05
OSVDEBIAN-CVE-2026-120757 7.1
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
DEBIAN-CVE-2026-120757- CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-04
OSVRHSA-2026:94898 6.1
Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update
- Record
RHSA-2026:94898- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H - Updated
- 2026-11-13
OSVUBUNTU-CVE-2026-120757 6.9
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
UBUNTU-CVE-2026-120757- CVSS 4.0
- 6.9 Medium
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.1 High
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-05
OSVAZL-112637No score
CVE-2026-120757 affecting package hdf5 1.14.6-6
HDF5 through 2.2.0 contains a heap buffer over-read vulnerability in H5L__extern_traverse() in src/H5Lexternal.c, the default traversal callback for external links. The callback locates the target file name and object path within the link’s user data using strlen() without validating the buffer against its stored size (udata_size, which was marked unused). A crafted HDF5 file containing an external link whose data is not NULL-terminated, or is too short to hold both strings, causes strlen() to read past the end of the udata heap buffer, and the derived object path pointer may also point outside the buffer. The overrun is unbounded and continues until a zero byte is found. The flaw is triggered when the malicious link is traversed, for example when opening an object through it. An attacker who can get a user or application to access a crafted file can cause a denial of service, and adjacent heap contents may be incorporated into the external file name or object path the library attempts to open.
- Record
AZL-112637- Updated
- 2026-11-05
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| affected, aliases, references | OSV | |
| affected, aliases, references | OSV | |
| references | OSV | |
| references | GitHub Advisories, NVD | |
| published | EUVD | |
| published | EUVD, NVD | |
| aliases, references | CVE List, GitHub Advisories, NVD | |
| aliases, products, published | EUVD | |
| first indexed | CVE List |
Dates are when Every CVE recorded each change. Upstream dates may differ.
References
github.com/HDFGroup/hdf5/pull/6708
nvd.nist.gov/vuln/detail/CVE-2026-120757
github.com/advisories/GHSA-2qgq-73w8-3hrx
github.com/CVEProject/cvelistV5/tree/main/cves/2026/120xxx/CVE-2026-120757.json
security-tracker.debian.org/tracker/CVE-2026-120757
access.redhat.com/errata/RHSA-2026:94898
Show 19 moreShow less
access.redhat.com/security/cve/CVE-2026-120756
access.redhat.com/security/cve/CVE-2026-120757
access.redhat.com/security/cve/CVE-2026-120758
access.redhat.com/security/updates/classification
images.redhat.com
security.access.redhat.com/data/csaf/v2/advisories/2026/rhsa-2026_94898.json
bugzilla.redhat.com/show_bug.cgi?id=2566025
cve.org/CVERecord?id=CVE-2026-120756
nvd.nist.gov/vuln/detail/CVE-2026-120756
github.com/HDFGroup/hdf5/issues/6401
github.com/HDFGroup/hdf5/pull/6589
bugzilla.redhat.com/show_bug.cgi?id=2565946
cve.org/CVERecord?id=CVE-2026-120757
bugzilla.redhat.com/show_bug.cgi?id=2566027
cve.org/CVERecord?id=CVE-2026-120758
nvd.nist.gov/vuln/detail/CVE-2026-120758
github.com/HDFGroup/hdf5/pull/6377
ubuntu.com/security/CVE-2026-120757
github.com/HDFGroup/hdf5/commit/8117f4c75fdfb5e759ad73ce62d7ef4584130acd
Left out here: 28 versions. The JSON record has them.