{"id":"CVE-2026-120757","kind":"vulnerability","aliases":["CVE-2026-120757"],"related":[],"title":"HDF5: crafted external link causes heap over-read when traversed","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.","summary":"HDF5 through 2.2.0 reads past the end of a heap buffer when it traverses an external link in a crafted file. An attacker who gets a user or application to open such a file can crash the program and may leak adjacent heap contents into the external file name the library tries to open.","severity":"medium","cvss":6.9,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["c","hdf5","package","python","scientific-computing"],"not_affected_if":["no-external-links","trusted-files-only"],"how_to_check":"- Check the installed HDF5 library version against the affected range (through `2.2.0`).\n- Find applications that open HDF5 files from untrusted sources, since traversal of external links is what triggers the flaw.","fix":null,"status":"open","published_at":"2026-11-03T16:17:23+00:00","first_seen_at":"2026-11-03T16:21:43+00:00","triaged_at":"2026-11-03T16:23:59+00:00","updated_at":"2026-11-03T16:23:59+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-03T16:23:59Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"local","title":"HDF5: crafted external link causes heap over-read when traversed","impact":"medium","summary":"HDF5 through 2.2.0 reads past the end of a heap buffer when it traverses an external link in a crafted file. An attacker who gets a user or application to open such a file can crash the program and may leak adjacent heap contents into the external file name the library tries to open.","audience":"developers","category":"package","nicknames":[],"who_cares":["hdf5","python","scientific-computing","c"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Denial of service and possible leak of adjacent heap contents","analyst_note":"Find the fixed HDF5 version and a patch or advisory; the NVD entry alone does not name one (https://nvd.nist.gov/vuln/detail/CVE-2026-120757).","how_to_check":"- Check the installed HDF5 library version against the affected range (through `2.2.0`).\n- Find applications that open HDF5 files from untrusted sources, since traversal of external links is what triggers the flaw.","plain_action":"","needs_analyst":true,"not_affected_if":["trusted-files-only","no-external-links"],"who_is_affected":"Any program that links the HDF5 library through 2.2.0 and opens HDF5 files that may be crafted, then follows external links inside them. Programs that only read files they produced themselves or trusted sources are less exposed. The sources do not name a fixed version.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000711,"input_tokens":4344,"output_tokens":554,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-120757':14A,17A '-2026':13A,16A '2.2.0':27B,81C 'access':222C 'adjac':66B,233C 'also':177C 'applic':53B,220C 'attack':47B,213C 'attempt':249C 'buffer':35B,85C,124C,169C,181C 'byte':191C 'c':18B 'callback':99C,104C 'caus':5A,158C,227C 'comput':24B 'contain':82C,139C 'content':68B,235C 'continu':187C 'craft':2A,44B,136C,224C 'crash':60B 'cve':12A,15A 'data':118C,144C 'default':97C 'denial':229C 'deriv':172C 'end':31B,164C 'exampl':205C 'extern':3A,40B,71B,92C,101C,141C,241C 'file':45B,58B,72B,108C,138C,225C,242C 'flaw':195C 'found':193C 'get':49B,216C 'h5l':91C 'hdf5':1A,19B,25B,79C,137C 'heap':6A,34B,67B,84C,168C,234C 'hold':155C 'incorpor':238C 'leak':65B 'librari':75B,248C 'link':4A,41B,102C,115C,142C,201C 'locat':105C 'malici':200C 'mark':133C 'may':64B,176C,236C 'name':73B,109C,243C 'null':148C 'null-termin':147C 'object':111C,173C,209C,245C 'open':55B,78B,207C,251C 'outsid':179C 'over-read':7A,86C 'overrun':183C 'packag':20B 'past':29B,162C 'path':112C,174C,246C 'point':178C 'pointer':175C 'program':62B 'python':21B 'read':9A,28B,88C,161C 'scientif':23B 'scientific-comput':22B 'servic':231C 'short':153C 'size':128C,130C 'src/h5lexternal.c':95C 'store':127C 'string':157C 'strlen':120C,159C 'target':107C 'termin':149C 'travers':11A,38B,93C,98C,203C 'tri':76B 'trigger':197C 'udata':129C,167C 'unbound':185C 'unus':134C 'use':119C 'user':51B,117C,218C 'valid':122C 'vulner':89C 'whose':143C 'within':113C 'without':121C 'zero':190C","nicknames":[],"mitigations":[],"who_affected":"Any program that links the HDF5 library through 2.2.0 and opens HDF5 files that may be crafted, then follows external links inside them. Programs that only read files they produced themselves or trusted sources are less 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","medium","package","python","scientificcomputing"],"first_public_at":"2026-11-03T16:17:23+00:00","kev":null,"cvss_vector":"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_by":"0253b833-3e77-4dfe-9d57-17db1a2f0a74","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-120757","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120757","severity":null,"published_at":"2026-11-03T16:17:23+00:00","modified_at":"2026-11-03T16:17:23+00:00","first_seen_at":"2026-11-03T16:21:43+00:00","fetched_at":"2026-11-03T16:21:43+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"}