Skip to content
Fencer Vulns
medium 6.5

CVE-2026-32814 json

libheif: Uninitialized Heap Memory Information Leak via Failed Grid Tiles

published 2026-05-19 5 mo ago modified 2026-07-24 3 mo ago also EUVD-2026-30980

cvss
6.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.3%
EPSS 0.3% chance of exploitation in 30 days, percentile 24%
public exploits
0
none known

Summary

libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and prior, when decoding a HEIF grid image with strict_decoding=false (the default), a corrupted tile silently fails to decode and the library returns heif_error_Ok with no indication of failure, leading to an uninitialized heap memory information leak. The canvas is allocated via create_clone_image_at_new_size() → plane.alloc() → new (std::nothrow) uint8_t[allocation_size] which does not zero the memory; only the alpha plane is explicitly initialized via fill_plane(), so the Y, Cb, and Cr planes contain whatever was previously at that heap address. The failed tile's region of the canvas is never written. It retains uninitialized heap data that is delivered to the caller as decoded pixel values (4,096 bytes per Y/Cb/Cr plane = 12,288+ bytes total). Any application using libheif to decode grid-based HEIF/AVIF files with default settings is vulnerable: a crafted .heic or .avif file causes 4,096+ bytes of heap memory to appear as pixel values in the decoded image, and the calling application receives heif_error_Ok, so it has no indication the output contains heap garbage. In server-side image processing, an uploaded crafted HEIF decoded and re-encoded (e.g., as PNG/JPEG for thumbnails, CDN, social media) can leak cross-user data such as auth tokens, database results, and other users' image data. This issue has been fixed in version 1.22.0.

Patch / fix

  • struktur libheif 1.22.0
  • libheif Debian 14 1.23.1-1

debian advisories DEBIAN-CVE-2026-32814

  • libheif Ubuntu 24.04 LTS 1.17.6-1ubuntu4.4
  • libheif Ubuntu 25.10 1.20.2-1ubuntu0.4
  • libheif Ubuntu 26.04 LTS 1.21.2-3ubuntu0.1
  • libheif Ubuntu Pro 20.04 LTS 1.6.1-1ubuntu0.1~esm3
  • libheif Ubuntu Pro 22.04 LTS 1.12.0-2ubuntu0.1~esm3

ubuntu advisories UBUNTU-CVE-2026-32814

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • libheif SLE Module for Package Hub 15 SP7, SLE Module for Desktop Applications 15 SP7 1.23.0-150700.3.15.1
  • libheif SLES for SAP applications 16.0, SLES 16.0 1.23.0-160000.1.1

suse advisories SUSE-SU-2026:2622-1SUSE-SU-2026:22153-1

  • libheif openSUSE Leap 16.0 1.23.0-160000.1.1
  • libheif openSUSE Tumbleweed 1.22.2-1.1

opensuse advisories openSUSE-SU-2026:20974-1openSUSE-SU-2026:10878-1

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-32814 updated cvss 6.5

libheif: libheif: Information Disclosure via Crafted HEIF/AVIF Files

  • Red Hat Enterprise Linux 10 glycin-loaders
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
Proof of concept is public
Automatable
no
Technical impact
partial
Assessed
5 mo ago

Exploit prediction

0.31% chance of exploitation in the next 30 days, higher than 24% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/strukturag/libheif/security/advisories/GHSA-4m8r-34pg-rvwc referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

Affected products

  • strukturag libheif

Classification

Weakness
  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor
  • CWE-908 Use of Uninitialized Resource

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.