libheif: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and prior, a crafted HEIF sequence file where the saiz box declares more samples than actually exist in the track's chunk table causes a heap-buffer-overflow (out-of-bounds read) in the SampleAuxInfoReader constructor. The SampleAuxInfoReader constructor iterates over saiz->get_num_samples() samples but doesn't validate that this count is consistent with the number of chunks in the chunks vector. When saiz declares more samples than the chunks cover, the loop increments current_chunk past chunks.size(), causing an out-of-bounds read on the chunks vector. The vulnerability is triggered during file parsing (heif_context_read_from_file) without any additional user interaction. Any application using libheif to open untrusted HEIF files is affected. This issue has been fixed in version 1.22.0.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| strukturag | libheif | before 1.22.0 | 1.22.0 | Patch available | CNA |
- libheif Vendorstrukturag Affected before 1.22.0 Fixed in 1.22.0 Patch available CNA
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:struktur:libheif:*:*:*:*:*:*:*:* | before 1.22.0 | Vulnerable | strukturag |
- cpe:2.3:a:struktur:libheif:*:*:*:*:*:*:*:* Versions before 1.22.0 Vulnerable ·strukturag
Remediation
- Fix · CNA libheif (strukturag) Fixed in 1.22.0
Vendor assessments
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41071
References
More strukturag Libheif vulnerabilities
- TI-2023-27020 libheif v1.17.5 was discovered to contain a segmentation violation via the function… CVSS 3.1HIGH 8.8
- TI-2026-34830 libheif Vulnerable to Heap Information Disclosure via Grid Image Gap + Uninitialized Pixel Plane Allocation CVSS 3.1HIGH 7.5
- TI-2024-16668 libheif <= 1.17.6 contains a memory leak in the function JpegEncoder::Encode. CVSS 3.1HIGH 7.5
- TI-2024-27575 In Libheif 1.17.6, insufficient checks in ImageOverlay::parse() decoding a heif file… CVSS 3.1HIGH 8.1
- TI-2026-35472 libheif: heap OOB read in ImageItem_Grid::decode_grid_tile via irot-induced tile-coordinate underflow CVSS 3.1HIGH 7.1
- TI-2026-35212 libheif has a NULL pointer dereference in heif_image_handle_get_image_tiling for malformed unci image missing ispe CVSS 4.0MEDIUM 6.9
Sources
- CVE-2026-41071 · CVE Program
- CVE-2026-41071 · NVD
- FIRST EPSS
- CVE-2026-41071 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences