{"id":"CVE-2026-120755","kind":"vulnerability","aliases":["CVE-2026-120755"],"related":[],"title":"HDF5: crafted szip chunk causes out-of-bounds read and crash","description":"HDF5 through 2.2.0 contains an out-of-bounds read vulnerability in H5Z__filter_szip() in src/H5Zszip.c. When decoding a szip-compressed chunk, the function subtracts the 4-byte uncompressed-length header from the chunk length without first verifying that the chunk is at least 4 bytes long. A truncated or corrupted chunk shorter than the header causes the length calculation to wrap around to a very large value, and the decompressor reads far past the end of the chunk buffer. An attacker who can get a user or application to read a dataset from a crafted HDF5 file can cause a denial of service. Only builds with szip support (libaec or the szip library) are affected.","summary":"HDF5 through 2.2.0 subtracts a 4-byte header from a szip chunk length without checking the chunk is at least 4 bytes, so a truncated chunk wraps the length and the decompressor reads past the buffer. An attacker who gets a user or application to open a crafted HDF5 file can cause a denial of service.","severity":"medium","cvss":4.7,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["hdf5","libaec","package","python","scientific-computing","szip"],"not_affected_if":["no-szip-support","trusted-files-only"],"how_to_check":"- Check whether the HDF5 build includes szip support (libaec or szip library) and what HDF5 version is installed.\n- Confirm the installed HDF5 version is `2.2.0` or earlier.","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:22+00:00","updated_at":"2026-11-03T16:24:22+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-03T16:24:22Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"HDF5: crafted szip chunk causes out-of-bounds read and crash","impact":"low","summary":"HDF5 through 2.2.0 subtracts a 4-byte header from a szip chunk length without checking the chunk is at least 4 bytes, so a truncated chunk wraps the length and the decompressor reads past the buffer. An attacker who gets a user or application to open a crafted HDF5 file can cause a denial of service.","audience":"developers","category":"package","nicknames":[],"who_cares":["hdf5","szip","libaec","python","scientific-computing"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Application crashes while reading a crafted file","analyst_note":"Confirm the fixed HDF5 version and whether szip-enabled builds are the default, using the NVD entry and the HDF5 project advisories.","how_to_check":"- Check whether the HDF5 build includes szip support (libaec or szip library) and what HDF5 version is installed.\n- Confirm the installed HDF5 version is `2.2.0` or earlier.","plain_action":"","needs_analyst":true,"not_affected_if":["no-szip-support","trusted-files-only"],"who_is_affected":"Only builds of HDF5 with szip support (libaec or the szip library) are affected, and the trigger is reading a dataset from a crafted or corrupted file. Teams that only read trusted, self-generated HDF5 files face lower risk. The sources do not state a fixed version.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"medium"},"cost_usd":0.000713,"input_tokens":4271,"output_tokens":571,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120755':15A,18A '-2026':14A,17A '2.2.0':29B,85C '4':32B,47B,111C,130C 'affect':201C 'applic':70B,174C 'around':148C 'attack':64B,167C 'bound':9A,91C 'buffer':62B,165C 'build':191C 'byte':33B,48B,112C,131C 'calcul':145C 'caus':5A,78B,142C,185C 'check':41B 'chunk':4A,38B,43B,52B,106C,119C,126C,137C,164C 'compress':105C 'comput':25B 'contain':86C 'corrupt':136C 'craft':2A,74B,181C 'crash':12A 'cve':13A,16A 'dataset':178C 'decod':101C 'decompressor':58B,156C 'denial':80B,187C 'end':161C 'far':158C 'file':76B,183C 'filter':96C 'first':122C 'function':108C 'get':66B,170C 'h5z':95C 'hdf5':1A,19B,27B,75B,83C,182C 'header':34B,116C,141C 'larg':152C 'least':46B,129C 'length':39B,55B,115C,120C,144C 'libaec':20B,195C 'librari':199C 'long':132C 'open':72B 'out-of-bound':6A,88C 'packag':21B 'past':60B,159C 'python':22B 'read':10A,59B,92C,157C,176C 'scientif':24B 'scientific-comput':23B 'servic':82B,189C 'shorter':138C 'src/h5zszip.c':99C 'subtract':30B,109C 'support':194C 'szip':3A,26B,37B,97C,104C,193C,198C 'szip-compress':103C 'truncat':51B,134C 'uncompress':114C 'uncompressed-length':113C 'user':68B,172C 'valu':153C 'verifi':123C 'vulner':93C 'without':40B,121C 'wrap':53B,147C","nicknames":[],"mitigations":[],"who_affected":"Only builds of HDF5 with szip support (libaec or the szip library) are affected, and the trigger is reading a dataset from a crafted or corrupted file. Teams that only read trusted, self-generated HDF5 files face lower risk. The sources do not state a fixed version.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"none","audience":"developers","plain_action":null,"pkeys":[],"ptokens":[],"labels":["hdf5","libaec","medium","package","python","scientificcomputing","szip"],"first_public_at":"2026-11-03T16:17:22+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/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-120755","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120755","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"}