Description
HDF5 through 2.2.0 contains an uninitialized memory read vulnerability in H5Z__filter_scaleoffset() in src/H5Zscaleoffset.c. The decode path validates reads against the allocated size of the chunk buffer rather than the number of bytes actually read from the file. Because H5D__chunk_lock() deliberately sizes filtered chunk buffers to the larger of the stored and unfiltered chunk sizes and fills only the stored bytes, a truncated chunk passes these bounds checks and is decompressed from the uninitialized remainder of the allocation. Unrelated heap contents are then returned to the caller as dataset data. Because the reads remain within the allocation, the issue is not detected by AddressSanitizer. An attacker who can get a user or application to read a dataset from a crafted HDF5 file can cause disclosure of process memory. This issue exists because of an incomplete fix for CVE-2026-19029.
Published: 2026-11-03
Score: 1.9 Low
EPSS: n/a
KEV: No
Impact: Memory Disclosure
Action: Apply Patch
AI Analysis

Impact

An uninitialized memory read occurs in the H5Z__filter_scaleoffset() decoder routine of HDF5. The decoder bounds‑checks the allocated size of a chunk buffer instead of the actual number of bytes read from the file. When a chunk is deliberately sized larger than the stored data and only the stored bytes are filled, the remaining buffer memory remains uninitialized. If an attacker supplies a truncated chunk in a HDF5 file, the decoder will decompress those uninitialized bytes and return them as part of the dataset, exposing arbitrary content of the process’s heap to the caller. This results in disclosure of potentially sensitive information that was not intended to be part of the dataset.

Affected Systems

The vulnerability affects the HDF Group’s Scale‑Offset Filter implementation in HDF5 versions up to and including 2.2.0. Any system that uses HDF5 2.2.0 or older to read datasets from untrusted HDF5 files is impacted. Systems that rely on the filter for decompression of scientific data or other binary arrays are particularly at risk.

Risk and Exploitability

The calculated CVSS score is 1.9, reflecting a low overall severity, and the EPSS score is not available. The vulnerability is not listed in CISA’s KEV catalog. An attacker only needs the ability to supply or influence a read operation on a crafted HDF5 file. Because the bounds check passes, the issue is not detected by AddressSanitizer, and the compromised data is returned safely to the application, making the attack relatively straightforward if the attacker can get the target to parse the malicious file.

Generated by OpenCVE AI on November 3, 2026 at 16:43 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade HDF5 to the latest release that includes the commit from pull request 6585, which removes the bounds‑check flaw.
  • If an immediate upgrade is not feasible, validate incoming HDF5 files to ensure that chunk sizes match stored data and reject any files that contain truncated or malformed chunks before passing them to the library.
  • Restrict writing and parsing permissions for untrusted HDF5 files and isolate processes that use the HDF5 library in a sandboxed environment to limit the impact of potential memory disclosure.

Generated by OpenCVE AI on November 3, 2026 at 16:43 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Tue, 03 Nov 2026 15:45:00 +0000

Type Values Removed Values Added
Metrics cvssV4_0

{'score': 1.1, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:U'}

cvssV4_0

{'score': 1.9, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P'}


Tue, 03 Nov 2026 15:30:00 +0000

Type Values Removed Values Added
Description HDF5 through 2.2.0 contains an uninitialized memory read vulnerability in H5Z__filter_scaleoffset() in src/H5Zscaleoffset.c. The decode path validates reads against the allocated size of the chunk buffer rather than the number of bytes actually read from the file. Because H5D__chunk_lock() deliberately sizes filtered chunk buffers to the larger of the stored and unfiltered chunk sizes and fills only the stored bytes, a truncated chunk passes these bounds checks and is decompressed from the uninitialized remainder of the allocation. Unrelated heap contents are then returned to the caller as dataset data. Because the reads remain within the allocation, the issue is not detected by AddressSanitizer. An attacker who can get a user or application to read a dataset from a crafted HDF5 file can cause disclosure of process memory. This issue exists because of an incomplete fix for CVE-2026-19029.
Title Uninitialized Heap Memory Disclosure via Truncated Chunk in HDF5 Scale-Offset Filter
Weaknesses CWE-908
References
Metrics cvssV4_0

{'score': 1.1, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:U'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: HDFG

Published:

Updated: 2026-11-03T15:28:08.070Z

Reserved: 2026-11-02T21:30:10.354Z

Link: CVE-2026-120754

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-11-03T16:17:22.627

Modified: 2026-11-03T16:30:17.150

Link: CVE-2026-120754

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-03T16:45:14Z

Weaknesses
  • CWE-908

    Use of Uninitialized Resource