CVE-2026-84446: CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') in strukturag libheif
libheif is a HEIF and AVIF file format decoder and encoder. Prior to 1.23.2, crafted HEIF sequence timing and edit-list data can make Track::init_sample_timing_table() compute a logical m_num_output_samples value that exceeds the uint32_t counters used by Track_Visual::decode_next_image_sample() and Track::get_next_sample_raw_data(). The resulting comparison can never reach the oversized output count, causing non-terminating decode or raw-sample loops and bypassing max_sequence_frames. The same sequence path repeatedly calls Box_stts::get_sample_duration() and allocates Chunk::m_sample_ranges and Track::m_presentation_timeline outside MemoryHandle accounting, allowing severe CPU and memory exhaustion from a small file. This issue is fixed in version 1.23.2.
AI Analysis
Technical Summary
The vulnerability in libheif (CVE-2026-84446) arises from crafted HEIF sequence timing and edit-list data that cause the function Track::init_sample_timing_table() to compute a logical m_num_output_samples value exceeding the uint32_t counters used by Track_Visual::decode_next_image_sample() and Track::get_next_sample_raw_data(). This mismatch leads to a comparison that never reaches the oversized output count, causing infinite loops in decoding or raw sample processing and bypassing the max_sequence_frames limit. Additionally, the repeated execution path calls Box_stts::get_sample_duration() and allocates Chunk::m_sample_ranges and Track::m_presentation_timeline outside of MemoryHandle accounting, enabling severe CPU and memory exhaustion from a small crafted file. The vulnerability is resolved in version 1.23.2 of libheif.
Potential Impact
Exploitation of this vulnerability can cause denial of service through severe CPU and memory exhaustion on systems processing crafted HEIF files. There is no impact on confidentiality or integrity reported. The vulnerability does not require privileges or user interaction and can be triggered remotely by processing a malicious file.
Mitigation Recommendations
This vulnerability is fixed in libheif version 1.23.2. Users and administrators should upgrade to version 1.23.2 or later to remediate this issue. No other mitigation or workaround is indicated.
CVE-2026-84446: CWE-835: Loop with Unreachable Exit Condition ('Infinite Loop') in strukturag libheif
Description
libheif is a HEIF and AVIF file format decoder and encoder. Prior to 1.23.2, crafted HEIF sequence timing and edit-list data can make Track::init_sample_timing_table() compute a logical m_num_output_samples value that exceeds the uint32_t counters used by Track_Visual::decode_next_image_sample() and Track::get_next_sample_raw_data(). The resulting comparison can never reach the oversized output count, causing non-terminating decode or raw-sample loops and bypassing max_sequence_frames. The same sequence path repeatedly calls Box_stts::get_sample_duration() and allocates Chunk::m_sample_ranges and Track::m_presentation_timeline outside MemoryHandle accounting, allowing severe CPU and memory exhaustion from a small file. This issue is fixed in version 1.23.2.
CVSS v3.1
Score 7.5high
Affected software
strukturag
libheif
pkg:github/strukturag/libheifRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in libheif (CVE-2026-84446) arises from crafted HEIF sequence timing and edit-list data that cause the function Track::init_sample_timing_table() to compute a logical m_num_output_samples value exceeding the uint32_t counters used by Track_Visual::decode_next_image_sample() and Track::get_next_sample_raw_data(). This mismatch leads to a comparison that never reaches the oversized output count, causing infinite loops in decoding or raw sample processing and bypassing the max_sequence_frames limit. Additionally, the repeated execution path calls Box_stts::get_sample_duration() and allocates Chunk::m_sample_ranges and Track::m_presentation_timeline outside of MemoryHandle accounting, enabling severe CPU and memory exhaustion from a small crafted file. The vulnerability is resolved in version 1.23.2 of libheif.
Potential Impact
Exploitation of this vulnerability can cause denial of service through severe CPU and memory exhaustion on systems processing crafted HEIF files. There is no impact on confidentiality or integrity reported. The vulnerability does not require privileges or user interaction and can be triggered remotely by processing a malicious file.
Mitigation Recommendations
This vulnerability is fixed in libheif version 1.23.2. Users and administrators should upgrade to version 1.23.2 or later to remediate this issue. No other mitigation or workaround is indicated.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-09-01T20:05:09.422Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6aad608d55bf5e2cf5360fa1
Added to database: 09/18/2026, 16:02:21 UTC
Last enriched: 09/18/2026, 16:16:45 UTC
Last updated: 09/19/2026, 00:44:22 UTC
Views: 10
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.