Vulnerability DatabaseCVE-2026-120754

CVE-2026-120754: 
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-120754 is an uninitialized memory read vulnerability in the HDF5 library's Scale-Offset filter, specifically in the H5Z__filter_scaleoffset() function in src/H5Zscaleoffset.c. It affects HDF5 versions through 2.2.0 and exists because of an incomplete fix for the related CVE-2026-19029. The vulnerability was published on November 3, 2026, with a patch merged into the HDF5 develop branch on October 21, 2026. It carries a CVSS v3.1 base score of 3.3 (Low) and a CVSS v4.0 base score of 1.9 (Low) (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is classified as CWE-908 (Use of Uninitialized Resource). The decode path in H5Z__filter_scaleoffset() validates read bounds against *buf_size — the total allocated size of the chunk buffer — rather than nbytes, the number of bytes actually read from the file. Because H5D__chunk_lock() sizes filtered chunk buffers to MAX(stored size, unfiltered size) and fills only the stored bytes, a truncated or crafted chunk passes the header bounds check and is decompressed from the uninitialized remainder of the allocation, causing unrelated heap contents to be returned as dataset data. Because all reads remain within the allocation boundary, AddressSanitizer does not detect the issue. The fix (PR #6585) switches all read-side checks in H5Z__filter_scaleoffset() to bound against nbytes and adds similar short-chunk guards to the szip and fletcher32 filter decode paths (GitHub PR #6585, GitHub Advisory).

Impact

Successful exploitation results in disclosure of process heap memory contents to an attacker-controlled output, impacting confidentiality with no effect on integrity or availability. An unauthenticated attacker who can convince a user or application to open a crafted HDF5 file and read a dataset can cause sensitive in-memory data — such as cryptographic keys, credentials, or other application data resident on the heap — to be returned as dataset values. The impact is scoped to the vulnerable process and does not directly enable code execution or lateral movement (GitHub Advisory, Red Hat Bugzilla).

Exploitability

No public proof-of-concept exploit code is known to exist, and there is no evidence of in-the-wild exploitation at the time of disclosure. The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation requires user interaction — a victim must open a specially crafted HDF5 file — and the attack vector is local, limiting the practical attack surface. The CVSS v4.0 exploit maturity is rated as Proof-of-Concept (E:P), though no public PoC has been identified (GitHub Advisory).

Exploitation steps

  1. Craft a malicious HDF5 file: Create an HDF5 file containing a dataset that uses the Scale-Offset filter. Truncate the stored chunk data so that the stored byte count is less than the unfiltered chunk size, ensuring the chunk buffer will contain uninitialized heap bytes beyond the stored data.
  2. Deliver the file to the target: Use social engineering, a file-sharing mechanism, or a web application that processes user-supplied HDF5 files to get the victim user or application to open the crafted file.
  3. Trigger dataset read: Cause the application to read the dataset from the crafted file. The H5D__chunk_lock() function allocates a buffer sized to MAX(stored size, unfiltered size) and fills only the stored bytes, leaving the remainder uninitialized.
  4. Exploit the bounds check bypass: The H5Z__filter_scaleoffset() decode path validates reads against *buf_size (the full allocation) rather than nbytes (bytes read from file), so the truncated chunk passes validation and decompression proceeds into uninitialized heap memory.
  5. Receive leaked heap data: The uninitialized heap contents are returned to the caller as dataset values, potentially exposing sensitive process memory such as keys, tokens, or other application data (GitHub PR #6585, GitHub Advisory).

Mitigation and workarounds

Upgrade HDF5 to version 2.3.0 or later, which includes the fix merged via PR #6585 that bounds all read-side checks in H5Z__filter_scaleoffset() against nbytes (the actual stored chunk length) rather than the allocated buffer size. Until patching is feasible, restrict processing of HDF5 files to trusted sources only and implement file validation controls to prevent users or applications from opening HDF5 files from untrusted origins. Similar hardening was also applied to the szip and fletcher32 filter decode paths in the same patch (GitHub PR #6585, GitHub Advisory).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Affected

bookworm

hdf5

Affected

sid

hdf5

Affected

trixie

hdf5

Affected

Ubuntu

Unknown

bionic (esm-apps)

hdf5

Unknown

devel

hdf5

Unknown

focal (esm-apps)

hdf5

Unknown

jammy

hdf5

Unknown

jammy (esm-apps)

hdf5

Unknown

noble

hdf5

Unknown

noble (esm-apps)

hdf5

Unknown

resolute

hdf5

Unknown

RHEL / CentOS

Unknown

Source: This report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-120757MEDIUM6.9
  • NixOS logoNixOS
  • hdf5
NoYesNov 03, 2026
CVE-2026-120758MEDIUM5.4
  • NixOS logoNixOS
  • hdf5
NoYesNov 03, 2026
CVE-2026-120755MEDIUM4.7
  • NixOS logoNixOS
  • hdf5
NoNoNov 03, 2026
CVE-2026-120756LOW1.9
  • NixOS logoNixOS
  • cpe:2.3:a:hdfgroup:hdf5
NoYesNov 03, 2026
CVE-2026-120754LOW1.9
  • NixOS logoNixOS
  • hdf5
NoNoNov 03, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management