---
id: CVE-2026-120758
title: NULL Pointer Dereference in H5HL_unprotect via Corrupted File
summary: >-
  HDF5 through 2.2.0 contains a NULL pointer dereference vulnerability in
  H5HL_unprotect() in src/H5HL.c. H5HL_protect() pins a single metadata cache
  entry for a local heap, either the heap prefix or the separate data block, and
  H5HL_unpro…
severity: medium
cvss: 5.4
cvssVector: 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:P'
cvssSource: cna
cwe:
  - CWE-476
vendor: The HDF Group
product: HDF5
affected:
  - HDF5 < 2.3.0
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-03T17:51:46.159121Z'
published: '2026-11-03'
updated: '2026-11-03'
sourceUpdated: '2026-11-03T17:52:03.376Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-120758'
references:
  - url: 'https://github.com/HDFGroup/hdf5/pull/6377'
tags:
  - cve.org
epss: 0.0014
epssPercentile: 0.03367
ingestedAt: '2026-11-05T20:33:06.330Z'
---

## Overview

HDF5 through 2.2.0 contains a NULL pointer dereference vulnerability in H5HL_unprotect() in src/H5HL.c. H5HL_protect() pins a single metadata cache entry for a local heap, either the heap prefix or the separate data block, and H5HL_unprotect() unpins it on the final unprotect. When the metadata cache destroys a corrupted local heap entry, H5HL__prfx_dest() unlinks it from the heap by setting heap->prfx or heap->dblk to NULL. A crafted HDF5 file can therefore reach H5HL_unprotect() with no cached object to unpin, and the function passes the NULL pointer to H5AC_unpin_entry(). This causes an assertion failure in debug builds and a NULL pointer dereference and crash in release builds. An attacker who can get a user or application to open and traverse a malicious file can cause a denial of service.

## Affected

- `HDF5 < 2.3.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
