Description
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF or AVIF file containing a clean aperture box can reduce an image dimension to zero and crash or corrupt tiling results when heif_image_handle_get_image_tiling(handle, 1, &tiling) is called. ImageItem::get_heif_image_tiling() returns already transformed dimensions, and process_image_transformations_on_tiling() applies the clean aperture transformation again. The second application passes zero to Box_clap::left_rounded(0), where image_width minus one underflows and constructs Fraction(0xFFFFFFFF, 2). Debug builds reach an assertion and abort, while release builds can return a corrupt crop and zero-width tiling result. The affected implementation spans libheif/image-items/image_item.cc, libheif/context.cc, and libheif/box.cc. This issue is fixed in version 1.23.1.
Published: 2026-08-18
Score: 4.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A crafted HEIF or AVIF file containing a clean aperture box can be processed by libheif to create an image dimension of zero. When such a file is parsed, the library first returns already transformed dimensions from ImageItem::get_heif_image_tiling(), and the subsequent call to process_image_transformations_on_tiling() applies the clean aperture transformation a second time. The second application passes zero to Box_clap::left_rounded(0), where image_width minus one underflows, creating a Fraction with a numerator of 0xFFFFFFFF and a denominator of 2. In debug builds this triggers an assertion and aborts; in release builds the corrupt crop leads to a zero‑width tiling result. The outcome is an application crash or delivery of corrupted image data, constituting a denial‑of‑service scenario.

Affected Systems

The vulnerability is present in the libheif decoder and encoder library from the vendor strukturag for all releases up to and including version 1.23.0. Versions 1.23.1 and newer contain the fix.

Risk and Exploitability

The CVSS score is 4.3, indicating a moderate severity. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. The flaw is triggered by parsing a maliciously crafted media file, so the attacker needs to supply such a file to an application that uses libheif. Because the issue is local to file processing, exposure is limited to environments that accept external HEIF or AVIF content.

Generated by OpenCVE AI on August 19, 2026 at 09:33 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the vendor patch (1.23.1) which eliminates the integer underflow (CWE-191) and prevents redundant clean‑aperture transformation (CWE-617).
  • Where patching is unavailable, isolate untrusted HEIF/AVIF processing or disable it entirely to mitigate the integer underflow (CWE-191) and improper transformation use (CWE-617).
  • Sanitize media files by verifying that image dimensions are positive and that transformations are applied only once, ensuring that fraction calculations do not underflow (CWE-191) and that clean‑aperture logic is not repeated (CWE-617).

Generated by OpenCVE AI on August 19, 2026 at 09:33 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6417-1 libheif security update
Ubuntu USN Ubuntu USN USN-8649-1 libheif vulnerabilities
Ubuntu USN Ubuntu USN USN-8683-1 libheif vulnerabilities
History

Fri, 21 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
First Time appeared Struktur
Struktur libheif
Vendors & Products Struktur
Struktur libheif

Tue, 18 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Description libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF or AVIF file containing a clean aperture box can reduce an image dimension to zero and crash or corrupt tiling results when heif_image_handle_get_image_tiling(handle, 1, &tiling) is called. ImageItem::get_heif_image_tiling() returns already transformed dimensions, and process_image_transformations_on_tiling() applies the clean aperture transformation again. The second application passes zero to Box_clap::left_rounded(0), where image_width minus one underflows and constructs Fraction(0xFFFFFFFF, 2). Debug builds reach an assertion and abort, while release builds can return a corrupt crop and zero-width tiling result. The affected implementation spans libheif/image-items/image_item.cc, libheif/context.cc, and libheif/box.cc. This issue is fixed in version 1.23.1.
Title libheif: Integer underflow in Fraction constructor via double clap transform application
Weaknesses CWE-191
CWE-617
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L'}


Subscriptions

Struktur Libheif
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-19T16:51:42.360Z

Reserved: 2026-07-13T18:37:08.488Z

Link: CVE-2026-62289

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T22:17:02.720

Modified: 2026-08-19T17:19:54.330

Link: CVE-2026-62289

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:00:03Z

Weaknesses
  • CWE-191

    Integer Underflow (Wrap or Wraparound)

  • CWE-617

    Reachable Assertion