# CVE-2026-47251: libheif integer overflow in vvdec_push_data2

Source: https://junglewise.ai/threats/cve-2026-47251-libheif-integer-overflow-in-vvdec-push-data2  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-21. Updated: 2026-07-21  
License: CC BY 4.0 with a link back

CVE-2026-47251 · Severity: info · CVSS 6.8 · Published 2026-07-21

libheif is a software library used by many applications to process HEIF and AVIF image files. A flaw in how the library handles certain video tracks (VVC) allows a specially crafted image file to crash the application or potentially expose small amounts of memory. This vulnerability is particularly notable because it exists within a security check that was intended to fix a previous bug, but was itself implemented incorrectly.

## Quick answers

**Is CVE-2026-47251 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-47251 being exploited in the wild.

**How severe is CVE-2026-47251?** Informational severity, with a CVSS score of 6.8, published 21 July 2026.

**Which products and versions are affected?** strukturag libheif <= 1.21.2.

**Is there a fix for CVE-2026-47251?** A patch was published on 2026-07-21: Version 1.22.0 released Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-47251 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-47251?** Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

An integer overflow exists in the `vvdec_push_data2` function within `libheif/plugins/decoder_vvdec.cc`. The vulnerability occurs because the security check `if (frame_size < 4 + size)` uses 32-bit unsigned integer arithmetic; when `size` is near UINT32_MAX, the addition wraps around, bypassing the bounds check. An attacker can provide a crafted HEIF file with a VVC track containing a large size prefix to trigger an out-of-bounds heap read during a subsequent `std::vector::insert` operation. This can result in a denial-of-service (crash) or limited information disclosure. The issue was introduced as an incomplete fix for CVE-2026-3949 and is resolved in version 1.22.0.

## Affected products

- strukturag libheif <= 1.21.2

## Timeline

- 2026-02-23: other: Vulnerability introduced in commit b97c8b5
- 2026-05-19: advisory: GitHub Security Advisory published
- 2026-07-21: disclosed: CVE-2026-47251 published to NVD
- 2026-07-21: patched: Version 1.22.0 released

## References

- [https://github.com/strukturag/libheif/issues/1712](https://github.com/strukturag/libheif/issues/1712)
- [https://github.com/strukturag/libheif/security/advisories/GHSA-p6q9-fhf2-vj9v](https://github.com/strukturag/libheif/security/advisories/GHSA-p6q9-fhf2-vj9v)
