{"id":"CVE-2026-120754","kind":"vulnerability","aliases":["CVE-2026-120754"],"related":[],"title":"HDF5: scale-offset decoder returns uninitialized heap memory from crafted files","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.","summary":"A truncated chunk in a crafted HDF5 file makes the scale-offset filter decompress bytes from an uninitialized buffer, so the reader gets unrelated heap contents as dataset data. An attacker who gets a program to read a malicious HDF5 file can leak process memory.","severity":"low","cvss":1.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["c","hdf5","package","python","scientific-computing"],"not_affected_if":["no-scaleoffset-filter","trusted-input-only"],"how_to_check":"- Check the HDF5 library version in use, for example with `h5dump --version` or the installed package version, and compare it against the fixed release.\n- Look for applications that open HDF5 files from untrusted sources and read datasets that use the scale-offset filter.","fix":null,"status":"open","published_at":"2026-11-03T16:17:22+00:00","first_seen_at":"2026-11-03T16:21:42+00:00","triaged_at":"2026-11-03T16:24:30+00:00","updated_at":"2026-11-03T16:24:30+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-03T16:24:30Z","model":"claude-haiku-5-5","output":{"fix":"- unknown","reach":"local","title":"HDF5: scale-offset decoder returns uninitialized heap memory from crafted files","impact":"low","summary":"A truncated chunk in a crafted HDF5 file makes the scale-offset filter decompress bytes from an uninitialized buffer, so the reader gets unrelated heap contents as dataset data. An attacker who gets a program to read a malicious HDF5 file can leak process memory.","audience":"developers","category":"package","nicknames":[],"who_cares":["hdf5","scientific-computing","python","c"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"process memory disclosed to whoever reads the crafted file","analyst_note":"Find the fixed HDF5 release and confirm which versions are affected beyond 'through 2.2.0'; check the NVD entry for the CVSS vector.","how_to_check":"- Check the HDF5 library version in use, for example with `h5dump --version` or the installed package version, and compare it against the fixed release.\n- Look for applications that open HDF5 files from untrusted sources and read datasets that use the scale-offset filter.","plain_action":"","needs_analyst":true,"not_affected_if":["trusted-input-only","no-scaleoffset-filter"],"who_is_affected":"Programs that read HDF5 files supplied by someone else and use the scale-offset filter on datasets are the exposed case; the flaw is in the library's decode path. Teams that only read their own trusted HDF5 files, or do not use scale-offset compression, are unlikely to be exposed. The sources do not name a fixed version.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"low"},"cost_usd":0.000734,"input_tokens":4348,"output_tokens":598,"severity_before":"low"},"analyst_status":null,"analyst_note":null,"search":"'-120754':15A,18A '-19029':214C '-2026':14A,17A,213C '2.2.0':74C 'actual':106C 'addresssanit':178C 'alloc':94C,152C,171C 'applic':187C 'attack':57B,180C 'bound':141C 'buffer':45B,99C,119C 'byte':41B,105C,135C 'c':19B 'caller':161C 'caus':198C 'check':142C 'chunk':28B,98C,113C,118C,128C,138C 'comput':25B 'contain':75C 'content':52B,155C 'craft':11A,31B,194C 'cve':13A,16A,212C 'data':55B,164C 'dataset':54B,163C,191C 'decod':5A,88C 'decompress':40B,145C 'deliber':115C 'detect':176C 'disclosur':199C 'exist':205C 'file':12A,33B,67B,110C,196C 'fill':131C 'filter':39B,83C,117C 'fix':210C 'get':49B,59B,183C 'h5d':112C 'h5z':82C 'hdf5':1A,20B,32B,66B,72C,195C 'heap':8A,51B,154C 'incomplet':209C 'issu':173C,204C 'larger':122C 'leak':69B 'lock':114C 'make':34B 'malici':65B 'memori':9A,71B,78C,202C 'number':103C 'offset':4A,38B 'packag':21B 'pass':139C 'path':89C 'process':70B,201C 'program':61B 'python':22B 'rather':100C 'read':63B,79C,91C,107C,167C,189C 'reader':48B 'remain':168C 'remaind':149C 'return':6A,158C 'scale':3A,37B 'scale-offset':2A,36B 'scaleoffset':84C 'scientif':24B 'scientific-comput':23B 'size':95C,116C,129C 'src/h5zscaleoffset.c':86C 'store':125C,134C 'truncat':27B,137C 'unfilt':127C 'uniniti':7A,44B,77C,148C 'unrel':50B,153C 'user':185C 'valid':90C 'vulner':80C 'within':169C","nicknames":[],"mitigations":[],"who_affected":"Programs that read HDF5 files supplied by someone else and use the scale-offset filter on datasets are the exposed case; the flaw is in the library's decode path. Teams that only read their own trusted HDF5 files, or do not use scale-offset compression, are unlikely to be exposed. The sources do not name a fixed version.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["c","hdf5","low","package","python","scientificcomputing"],"campaign_type":null,"first_public_at":"2026-11-03T16:17:22+00:00","kev":null,"cvss_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/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_by":"0253b833-3e77-4dfe-9d57-17db1a2f0a74","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120754","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120754","severity":null,"published_at":"2026-11-03T16:17:22+00:00","modified_at":"2026-11-03T16:17:22+00:00","first_seen_at":"2026-11-03T16:21:42+00:00","fetched_at":"2026-11-03T16:21:42+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}