Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-32738 EUVD-2026-30972

libheif has a Heap OOB Read/SEGV Crash via Zero samples_per_chunk

Published May 19, 2026 · Updated May 19, 2026 · Assigned by GitHub_M

Description

libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and below, a crafted 792-byte HEIF sequence file with samples_per_chunk=0 in the stsc box causes an unsigned integer underflow in the Chunk constructor (m_last_sample = 0 + 0 - 1 = UINT32_MAX), mapping all samples to an empty chunk and resulting in a denial of service. When any sample is accessed, the library reads from index 0 of an empty std::vector, causing a guaranteed SEGV (null-page read). The file parses successfully without producing an error; the crash occurs on the first frame access. This issue has been fixed in version 1.22.0.

Affected products

VendorProductAffectedFixed
strukturag libheif < 1.22.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libheif 1.23.1-1 —
Debian 12 libheif No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.04 LTS libheif 1.21.2-3ubuntu0.1 —
Ubuntu 25.10 libheif 1.20.2-1ubuntu0.4 —
ReleasePackageFixed inAdvisory
SLES 15 SP7 libheif 1.23.0-150700.3.15.1 SUSE-SU-2026:2622-1
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 libheif 1.23.0-160000.1.1 SUSE-SU-2026:22153-1
SLES 16.0 libheif 1.23.0-160000.1.1 SUSE-SU-2026:22153-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed libheif 1.22.2-1.1 openSUSE-SU-2026:10878-1
openSUSE Leap 16.0 libheif 1.23.0-160000.1.1 openSUSE-SU-2026:20974-1
ReleasePackageFixed inAdvisory
Alpine v3.24 libheif 1.22.2-r0 —
Alpine v3.23 libheif 1.23.0-r0 —

Advisories 4

References