Vulnerability · Published Jul 21, 2026 · Assigned by GitHub_M
CVE-2026-47251libheif has an incomplete fix for CVE-2026-3949: integer overflow bypass in vvdec_push_data2
Medium 6.8
In plain English
A medium-severity out-of-bounds read in libheif from strukturag. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 5% of all known vulnerabilities).
Official description
libheif is a HEIF and AVIF file format decoder and encoder. The fix for CVE-2026-3949 (commit `b97c8b5`, PR #1712) introduced an integer overflow in the very security check it added. The check itself can be bypassed, allowing a crafted HEIF file with a VVC track to trigger the same out-of-bounds heap read that CVE-2026-3949 was meant to prevent. This is a separate, currently-unpatched vulnerability. Issue #1712 was closed as fixed without testing the edge case where `size` is near `UINT32_MAX`. Version 1.22.0 patches the issue.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | libheif | no fix listed | DEBIAN-CVE-2026-47251 |
| Debian:13 | libheif | no fix listed | DEBIAN-CVE-2026-47251 |
| Debian:14 | libheif | no fix listed | DEBIAN-CVE-2026-47251 |
| Ubuntu:24.04:LTS | libheif | no fix listed | UBUNTU-CVE-2026-47251 |
| Ubuntu:25.10 | libheif | no fix listed | UBUNTU-CVE-2026-47251 |
| Ubuntu:26.04:LTS | libheif | no fix listed | UBUNTU-CVE-2026-47251 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| strukturag | libheif | < 1.22.0 |
Weakness: CWE-125, CWE-190 · Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N
References
- https://github.com/strukturag/libheif/security/advisories/GHSA-p6q9-fhf2-vj9v x_refsource_CONFIRM
- https://github.com/strukturag/libheif/issues/1712 x_refsource_MISC