CVE-2026-47709 Overview
CVE-2026-47709 is a null pointer dereference vulnerability [CWE-476] in libheif, an open-source HEIF and AVIF file format decoder and encoder maintained by Struktur AG. Versions prior to 1.22.0 crash in the public C API heif_image_handle_get_image_tiling() when processing a malformed uncompressed HEIF image item that contains an associated uncC property but lacks the required ispe property. Applications that embed libheif to parse untrusted image files can be forced to terminate. Version 1.22.0 resolves the issue.
Critical Impact
A crafted HEIF file triggers a null pointer read at address 0xa8, causing denial of service in any process that invokes heif_image_handle_get_image_tiling() on the malformed input.
Affected Products
- libheif versions prior to 1.22.0
- Applications and libraries embedding libheif for HEIF/AVIF decoding
- Image processing pipelines and thumbnailers that call heif_image_handle_get_image_tiling()
Discovery Timeline
- 2026-07-21 - CVE-2026-47709 published to NVD
- 2026-07-22 - Last updated in NVD database
Technical Details for CVE-2026-47709
Vulnerability Analysis
The defect resides in the ImageItem_uncompressed::get_heif_image_tiling() method, invoked through the public C API heif_image_handle_get_image_tiling(). The function assumes that any uncompressed HEIF item exposes both an Image Spatial Extents (ispe) property and an Uncompressed Frame Config (uncC) property. When an attacker supplies a HEIF file where the uncC property is present but ispe is missing, the code path dereferences a null pointer for the ispe structure.
In debug builds, the failure surfaces as an assertion trap on ispe && uncC. In release builds compiled with NDEBUG and AddressSanitizer, the same input causes a null pointer read at offset 0xa8, producing a process crash. The vulnerability is categorized as CWE-476 (NULL Pointer Dereference).
Root Cause
The parser accepts image items with an inconsistent property set. The tiling logic relies on ispe to determine spatial dimensions but never validates its presence before use. Missing input validation on the property association box permits the malformed layout to reach the vulnerable call site.
Attack Vector
Exploitation requires local delivery of a crafted HEIF file to an application built against a vulnerable libheif. The attacker cannot execute arbitrary code through this flaw; impact is limited to availability. The EPSS score is 0.178%, reflecting low probability of active exploitation. Refer to the GitHub Security Advisory GHSA-4h72-vqgp-9376 and the upstream pull request for technical remediation details.
Detection Methods for CVE-2026-47709
Indicators of Compromise
- Unexpected process termination or SIGSEGV crashes in applications calling heif_image_handle_get_image_tiling().
- Crash reports referencing ImageItem_uncompressed::get_heif_image_tiling in the stack trace.
- HEIF files containing an uncC property association without a corresponding ispe property in the iprp box.
Detection Strategies
- Inventory installed libheif versions across endpoints and servers, flagging any release earlier than 1.22.0.
- Parse incoming HEIF files with a validator that verifies each uncompressed item exposes both ispe and uncC before passing them to downstream consumers.
- Enable AddressSanitizer or crash telemetry on image-processing services to surface null pointer reads at offset 0xa8.
Monitoring Recommendations
- Alert on repeated crashes of thumbnail generators, media indexers, or upload processors that handle user-supplied HEIF content.
- Track file uploads with .heif, .heic, or .avif extensions and correlate with subsequent service restarts.
- Ingest application crash dumps into your SIEM and search for the vulnerable function name in call stacks.
How to Mitigate CVE-2026-47709
Immediate Actions Required
- Upgrade libheif to version 1.22.0 or later on every host that decodes HEIF or AVIF content.
- Rebuild and redeploy applications that statically link libheif after installing the patched release.
- Restrict upload of HEIF files from untrusted sources until dependent services are patched.
Patch Information
The fix is included in libheif 1.22.0. The patch adds a presence check for the ispe property before get_heif_image_tiling() dereferences it, returning an error instead of asserting or crashing. See the GitHub pull request and the issue discussion for the code changes.
Workarounds
- Wrap calls to heif_image_handle_get_image_tiling() in a validation layer that rejects items lacking an ispe property.
- Sandbox image decoding processes so a crash does not affect the parent service.
- Disable HEIF or AVIF ingestion paths in exposed services until the patched library is deployed.
# Verify installed libheif version on Linux
dpkg -l | grep libheif
rpm -qa | grep libheif
pkg-config --modversion libheif
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

