Skip to main content

libheif CVE-2026-84384

| EUVDEUVD-2026-83022 HIGH
Improper Handling of Highly Compressed Data (Data Amplification) (CWE-409)
2026-09-18 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Deliver crafted HEIF/AVIF file to decoder
  2. Delivery
    Trigger decompress_brotli()/do_inflate() during file open
  3. Exploit
    Overlapping icef units re-decompress payload
  4. Execution
    Accumulated output exceeds memory
  5. Impact
    Process OOM-killed (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Compression ratio limits
Exploitation Conditions

Exploitation requires the target to decode an attacker-supplied HEIF or AVIF file containing crafted compressed mime metadata or unci image data with a compressed cmpC/icef structure (brotli, or zlib/deflate) using libheif 1.19.0-1.23.1. The brotli decompression path has no output bound at all; the zlib path only checks a small temporary buffer in a branch valid streams never reach; and icef units are not required to be disjoint, so a tiny box can point multiple units at the same slice for repeated decompression amplification. Limiting factors: impact is availability-only (crash/OOM, no code execution or data disclosure); against interactive desktop apps a user must open the file (effective UI:R), while UI:N genuinely applies only to automated server-side image pipelines that ingest untrusted files. The fix (heif_security_limits) is enforced only when a security-limits object is present, so callers passing raw extents with no limits remain unbounded.

Impact

This is a genuine but bounded-priority denial-of-service issue. The vendor CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, 7.5) reflects a pure availability impact with no confidentiality or integrity loss - CWE-409 (data amplification / decompression bomb), consistent with the description of unbounded brotli/zlib output growth and re-decompression of overlapping icef units. No EPSS score, no CISA KEV listing, and no public exploit are present in the provided intelligence: no public exploit identified at time of analysis. The advisory ships a fix (v1.23.2) rather than a weaponized PoC, so the real-world signal is 'defect confirmed by vendor, no active exploitation evidence.' One tension to verify: CVSS marks UI:N (no user interaction), which is accurate for automated server-side pipelines that ingest untrusted HEIF/AVIF, but on desktop consumers the file must be opened by a user (effectively UI:R); the realistic vector depends on deployment. Also note the input Tag 'Information Disclosure' conflicts with the vendor vector (C:N) - this is a DoS, not an info-leak, and should not be triaged as data exposure.

Exploit ScenarioDerived

An attacker sends or uploads a small crafted HEIF/AVIF file to a service that decodes untrusted images (thumbnailer, image-conversion API, chat/photo pipeline) using libheif 1.19.0-1.23.1. During file opening, HeifContext::interpret_heif_file_images() decompresses the mime/unci compressed metadata items with no output size bound, and overlapping icef units re-decompress the same payload repeatedly, ballooning memory until the process is OOM-killed. No public exploit is identified, but the technique is a straightforward decompression bomb requiring no authentication or special privileges against exposed pipelines.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 18, 2026

Denial of service in libheif 1.19.0 through 1.23.1 allows unauthenticated remote attackers to exhaust process memory and terminate the application by supplying a crafted HEIF or AVIF file whose compressed mime metadata or unci image data is decompressed without an effective output bound. According to the CVSS vector (AV:N/AC:L/PR:N/UI:N) no privileges or interaction are required, so automated server-side image ingestion pipelines that parse untrusted HEIF/AVIF content are the most exposed; interactive desktop viewers still require a user to open the malicious file. Impact is availability-only (crash/OOM, no code execution or data disclosure), no public exploit code has been identified at time of analysis, and the issue is fixed in libheif 1.23.2.

RemediationAI

Upgrade to libheif 1.23.2 or later, which is the vendor-released fixed version; the project release is at https://github.com/strukturag/libheif/releases/tag/v1.23.2 and the hardening patch is commit 21893e8f66c8b79363ca2809391b07d35e1a95ec, with the full advisory at https://github.com/strukturag/libheif/security/advisories/GHSA-24wx-9w62-c96w. Distribution and downstream consumers should update packages that statically or dynamically link libheif, so check embedded copies in applications rather than only the system library. Because the fix is enforced only when a heif_security_limits object is present on the file, integrators that bypass normal file reading and pass raw data extents should verify they are supplying security limits, otherwise the amplification remains unbounded; review such call sites after upgrading. Where patching must be delayed, the most effective compensating controls are to block or quarantine untrusted HEIF/AVIF input at ingestion boundaries (content-type and magic-byte filtering do not help, since the files are structurally valid - instead disable or sandbox decoding for untrusted uploads), run decoders under strict per-process memory limits (cgroup/ulimit) so oversized allocations cause a contained crash rather than host-wide OOM, and disable the brotli/zlib-compressed unci decode paths where the build permits, at the cost of failing to render legitimate files that use compressed unci items. Interactive desktop viewers are lower risk because an attacker cannot trigger the code path without a user opening the file, so user education and attachment/upload scanning are secondary mitigations.

Affected VersionsENISA

libheif 1.19.0, < 1.23.2

Affected Packages

euvd libheif_1_19_0 fix: 1.23.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-409 (Improper Handling of Highly Compressed Data / decompression bomb) in libheif's handling of HEIF/AVIF compressed metadata. libheif implements the 'unci' (uncompressed image) item type, in which image data may be stored in compressed form using brotli (brotli), zlib, or deflate; the compressed bytes are held in 'cmpC' boxes referenced by 'icef' units, and HeifContext::interpret_heif_file_images() processes multiple such compressed metadata items while opening a file. Two independent flaws combine: decompress_brotli() performs no output-size bounding at all, so a small brotli stream can expand into arbitrarily large memory, and decompress_zlib()/do_inflate() only validate a small temporary buffer inside a code branch that valid streams never reach, giving no real protection. Additionally, icef units are not required to be disjoint, so a single tiny compressed slice can be referenced by many units and decompressed repeatedly into the accumulated output buffer, amplifying a very small file into an unbounded allocation. The upstream fix at commit 21893e8f66c8b79363ca2809391b07d35e1a95ec threads a heif_security_limits pointer through do_decompress_data(), decompress_brotli(), decompress_zlib(), and decompress_deflate(), and adds a local MemoryHandle (accumulated_memory_handle) that accounts for every decompressed unit before it is appended, bounding the peak memory used while building the output. A notable residual caveat: the limit is only enforced when the data extent originates from a file that carries a security-limits object; callers that pass raw extents with no limits remain unbounded.

Know when Libheif gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Untrusted file decoded by a network-facing pipeline with no auth or interaction (AV:N/PR:N/UI:N), trivial to craft (AC:L), causing memory-exhaustion crash only (A:H, C:N/I:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE HIGH

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Lifecycle Timeline

2
Patch available
Sep 18, 2026 - 17:17 EUVD
CVE Published
Sep 18, 2026 - 15:58 cve.org
HIGH 7.5

DescriptionCVE.org

libheif is a HEIF and AVIF file format decoder and encoder. From 1.19.0 until 1.23.2, crafted HEIF or AVIF mime metadata and unci image data can cause decompress_brotli() and do_inflate() to grow accumulated output without an effective size limit or MemoryHandle accounting. The brotli path has no output bound, while the zlib path checks only a small temporary buffer in a branch that valid streams do not reach, and overlapping icef units can decompress the same payload repeatedly. HeifContext::interpret_heif_file_images() processes multiple compressed metadata items during file opening, allowing a small file to consume unbounded memory and terminate the process. This issue is fixed in version 1.23.2.

Technical POC Analysis

CWE-409, improper handling of highly compressed data (decompression bomb).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Unpatched versions of the libheif image library (1.19.0 through 1.23.1) can be forced to exhaust server memory and crash when they process a maliciously crafted HEIF or AVIF file, and no credentials or user interaction are needed to trigger the failure. The organizations most exposed are those running automated, server-side image ingestion pipelines - upload portals, thumbnail and media-processing services, and content-management back ends that accept untrusted imagery from the internet. The damage is limited to availability: no code execution or data theft has been demonstrated, but repeated crashes of an image-handling service can produce a sustained, easily initiated outage for customer-facing applications.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 57% exploitable
Prevalence
High
libheif is the standard HEIF/AVIF decoder across Linux desktop and image tooling
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2023-49464 HIGH POC
8.8 Dec 07

libheif v1.17.5 was discovered to contain a segmentation violation via the function UncompressedImageCodec::get_luma_bit

CVE-2023-49463 HIGH POC
8.8 Dec 07

libheif v1.17.5 was discovered to contain a segmentation violation via the function find_exif_tag at /libheif/exif.cc. R

CVE-2023-49462 HIGH POC
8.8 Dec 07

libheif v1.17.5 was discovered to contain a segmentation violation via the component /libheif/exif.cc. Rated high severi

CVE-2023-49460 HIGH POC
8.8 Dec 07

libheif v1.17.5 was discovered to contain a segmentation violation via the function UncompressedImageCodec::decode_uncom

CVE-2019-11471 HIGH POC
8.8 Apr 23

libheif 1.4.0 has a use-after-free in heif::HeifContext::Image::set_alpha_channel in heif_context.h because heif_context

CVE-2024-41311 HIGH POC
8.1 Oct 15

In Libheif 1.17.6, insufficient checks in ImageOverlay::parse() decoding a heif file containing an overlay image with fo

CVE-2024-25269 HIGH POC
7.5 Mar 05

libheif <= 1.17.6 contains a memory leak in the function JpegEncoder::Encode. Rated high severity (CVSS 7.5), this vulne

CVE-2025-68431 HIGH POC
7.1

Out-of-bounds read in libheif's HEIF/HEIC overlay processing can disclose limited memory contents and crash affected app

CVE-2023-29659 MEDIUM POC
6.5 May 05

A Segmentation fault caused by a floating point exception exists in libheif 1.15.1 using crafted heif images via the hei

CVE-2025-29482 MEDIUM POC
6.2 Apr 07

Buffer Overflow vulnerability in libheif 1.19.7 allows a local attacker to execute arbitrary code via the SAO (Sample Ad

CVE-2026-84383 CRITICAL
9.8 Sep 04

Heap-based buffer overflow in libheif before 1.23.2 allows remote attackers to corrupt memory and potentially achieve co

CVE-2026-32740 HIGH
8.8 May 19

Heap buffer overflow write in libheif (versions ≤ 1.21.2) lets a crafted HEIF/AVIF file write 64 bytes of attacker-contr

Vendor StatusVendor

SUSE

Severity: Important
Product Status
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Module for Desktop Applications 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Server for SAP Applications 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy