Description
libheif is an HEIF and AVIF file format decoder and encoder. Prior to version 1.21.0, a crafted HEIF that exercises the overlay image item path triggers a heap buffer over-read in `HeifPixelImage::overlay()`. The function computes a negative row length (likely from an unclipped overlay rectangle or invalid offsets), which then underflows when converted to `size_t` and is passed to `memcpy`, causing a very large read past the end of the source plane and a crash. Version 1.21.0 contains a patch. As a workaround, avoid decoding images using `iovl` overlay boxes.
References (3)
Core 3
Core References
Vendor Advisory x_refsource_confirm
https://github.com/strukturag/libheif/security/advisories/GHSA-j87x-4gmq-cqfq
Patch x_refsource_misc
https://github.com/strukturag/libheif/commit/b8c12a7b70f46c9516711a988483bed377b78d46
Release Notes x_refsource_misc
https://github.com/strukturag/libheif/releases/tag/v1.21.0
Scores
CVSS v3
6.5
EPSS
0.0027
EPSS Percentile
18.1%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
partial
Details
CWE
CWE-125
CWE-190
Status
published
Products (1)
struktur/libheif
< 1.21.0
Published
Dec 29, 2025
Tracked Since
Feb 18, 2026