libheif Has Heap Buffer Overflow in `Track::get_next_sample_raw_data()` -- OOB Chunk Vector Access
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
libheif is a HEIF and AVIF file format decoder and encoder. Prior to version 1.22.0, `Track::init_sample_timing_table()` in `libheif/sequences/track.cc` stores an out-of-bounds chunk index (`m_chunks.size()`) into `m_presentation_timeline` when the number of chunks defined in the `stco` box is less than the number of samples in `stsz`. A subsequent call to `heif_track_get_next_raw_sequence_sample()` reads `m_chunks[chunk_idx]` with that OOB index, causing a heap-buffer-overflow. Version 1.22.0 fixes the issue.
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-47254
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-47254 · CVE Program
- CVE-2026-47254 · NVD
- FIRST EPSS
- CVE-2026-47254 · 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