CVE-2026-62377
libheif: Reachable assertion in HeifContext::get_track() aborts on a valid-but-empty HEIF sequence file (context.cc:2110)
CVE-2026-62377 is a medium vulnerability (CVSS 4.3) in Strukturag Libheif, published August 1, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.41%, the 35th percentile. Fixed in libheif 1.23.4-r0.
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
4.3
libheif: Reachable assertion in HeifContext::get_track() aborts on a valid-but-empty HEIF sequence file (context.cc:2110)
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
- Record
CVE-2026-62377- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-617, CWE-908
- Updated
- 2026-11-02
EUVDEUVD-2026-62191
4.3
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
- Record
EUVD-2026-62191- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
NVD
4.3
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
- Record
CVE-2026-62377- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-617, CWE-908
- Updated
- 2026-11-02
OSVBELL-CVE-2026-62377
4.3
- Record
BELL-CVE-2026-62377- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSV
4.3
libheif: Reachable assertion in HeifContext::get_track() aborts on a valid-but-empty HEIF sequence file (context.cc:2110)
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
- Record
CVE-2026-62377- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Weakness
- CWE-617, CWE-908
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-62377
4.3
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
- Record
DEBIAN-CVE-2026-62377- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
Show 6 moreShow less
OSVUBUNTU-CVE-2026-62377
4.3
libheif is a HEIF and AVIF file format decoder and encoder. In 1.23.0 and earlier, a crafted HEIF sequence accepted by heif_context_read_from_memory() can leave the context with no registered sequence tracks and crash when heif_context_get_track(ctx, 0) is called. HeifContext::get_track() in libheif/context.cc executes assert(has_sequence()) before its normal error handling, so assert-enabled builds abort instead of allowing the public wrapper in libheif/api/libheif/heif_sequences.cc to return null. In release builds, removing the assertion lets the track_id zero path dereference m_tracks.begin()->second on an empty map, which is undefined behavior and typically crashes. The issue is reachable through documented public APIs after parsing attacker-controlled bytes. This issue is fixed in version 1.23.1.
- Record
UBUNTU-CVE-2026-62377- CVSS 3.1
- 4.3 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:11416-1 No score
gdk-pixbuf-loader-libheif-1.23.1-1.1 on GA media
These are all security issues fixed in the gdk-pixbuf-loader-libheif-1.23.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:11416-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21644-1 No score
Security update for libheif
This update for libheif fixes the following issues:
Update to version 1.23.1 (jsc#PED-16355).
Security issues fixed:
- CVE-2026-62289: integer underflow in Fraction constructor via double clap transform application (bsc#1273079).
- CVE-2026-62291: heap out-of-bounds write in the uncompressed encoder when writing images with mismatched auxiliary alpha dimensions (bsc#1273080).
- CVE-2026-62292: out-of-bounds read in uncompressed unci tile range slicing (bsc#1273081).
- CVE-2026-62377: reachable assertion in
HeifContext::get_track()aborts on a valid-but-empty HEIF sequence file (bsc#1273082). - Heap out-of-bounds write in the uncompressed encoder for RRGGBB images with interleaved bit-depth
<= 8(bsc#1273083).
Changes for libheif:
- Version 1.23.1
- FFmpeg decoder plugin gains AV1, VVC, JPEG, and JPEG 2000/HTJ2K decoding.
- SVT-AV1 encoder: new
tune=iqandms-ssimtune parameters. - C++ API: added getters/setters for the CLLI and MDCV HDR metadata boxes.
- Sequence decoder now scales the alpha auxiliary track to the main image size.
- Fixed pixi box writing for multi-channel images.
- Corrected the placement of the TAI
clock_typefield into the top 2 bits. - Empty/unset plugin directory is no longer scanned.
- Record
openSUSE-SU-2026:21644-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23320-1 No score
Security update for libheif
This update for libheif fixes the following issues:
Update to version 1.23.1 (jsc#PED-16355).
Security issues fixed:
- CVE-2026-62289: integer underflow in Fraction constructor via double clap transform application (bsc#1273079).
- CVE-2026-62291: heap out-of-bounds write in the uncompressed encoder when writing images with mismatched auxiliary alpha dimensions (bsc#1273080).
- CVE-2026-62292: out-of-bounds read in uncompressed unci tile range slicing (bsc#1273081).
- CVE-2026-62377: reachable assertion in
HeifContext::get_track()aborts on a valid-but-empty HEIF sequence file (bsc#1273082). - Heap out-of-bounds write in the uncompressed encoder for RRGGBB images with interleaved bit-depth
<= 8(bsc#1273083).
Changes for libheif:
- Version 1.23.1
- FFmpeg decoder plugin gains AV1, VVC, JPEG, and JPEG 2000/HTJ2K decoding.
- SVT-AV1 encoder: new
tune=iqandms-ssimtune parameters. - C++ API: added getters/setters for the CLLI and MDCV HDR metadata boxes.
- Sequence decoder now scales the alpha auxiliary track to the main image size.
- Fixed pixi box writing for multi-channel images.
- Corrected the placement of the TAI
clock_typefield into the top 2 bits. - Empty/unset plugin directory is no longer scanned.
- Record
SUSE-SU-2026:23320-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:3597-1 No score
Security update for libheif
This update for libheif fixes the following issues:
Update to version 1.23.1 (jsc#PED-16355).
Security issues fixed:
- CVE-2026-62289: integer underflow in Fraction constructor via double clap transform application (bsc#1273079).
- CVE-2026-62291: heap out-of-bounds write in the uncompressed encoder when writing images with mismatched auxiliary alpha dimensions (bsc#1273080).
- CVE-2026-62292: out-of-bounds read in uncompressed unci tile range slicing (bsc#1273081).
- CVE-2026-62377: reachable assertion in
HeifContext::get_track()aborts on a valid-but-empty HEIF sequence file (bsc#1273082). - Heap out-of-bounds write in the uncompressed encoder for RRGGBB images with interleaved bit-depth
<= 8(bsc#1273083).
Changes for libheif:
- Version 1.23.1
- FFmpeg decoder plugin gains AV1, VVC, JPEG, and JPEG 2000/HTJ2K decoding.
- SVT-AV1 encoder: new
tune=iqandms-ssimtune parameters. - C++ API: added getters/setters for the CLLI and MDCV HDR metadata boxes.
- Sequence decoder now scales the alpha auxiliary track to the main image size.
- Fixed pixi box writing for multi-channel images.
- Corrected the placement of the TAI
clock_typefield into the top 2 bits. - Empty/unset plugin directory is no longer scanned.
- Record
SUSE-SU-2026:3597-1- Updated
- 2026-11-02
OSVUSN-8774-1 No score
libheif vulnerabilities
Ali Firas discovered that libheif incorrectly handled certain images. An attacker could possibly use this issue to cause a denial of service or execute arbitrary code. (CVE-2026-62291)
Dmitrijs Trizna discovered that libheif incorrectly handled certain image sequences. An attacker could possibly use this issue to cause a denial of service. (CVE-2026-62377)
- Record
USN-8774-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libheifAlpaquita:stream |
1.20.2-r2 up to 1.23.4-r0 | 1.23.4-r0 |
libheifDebian:14 |
before 1.23.1-1, plus listed versions 1.19.8-11.20.1-11.20.2-11.20.2-21.21.2-11.21.2-21.21.2-31.21.2-4 |
1.23.1-1 |
libheifSUSE:Linux Enterprise Server 16.0 |
before 1.23.1-160000.1.1 | 1.23.1-160000.1.1 |
libheifSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 1.23.1-160000.1.1 | 1.23.1-160000.1.1 |
libheifSUSE:Linux Enterprise Module for Desktop Applications 15 SP7 |
before 1.23.1-150700.3.18.1 | 1.23.1-150700.3.18.1 |
libheifSUSE:Linux Enterprise Module for Package Hub 15 SP7 |
before 1.23.1-150700.3.18.1 | 1.23.1-150700.3.18.1 |
libheifUbuntu:26.04:LTS |
before 1.21.2-3ubuntu0.5, plus listed versions 1.20.2-11.20.2-21.20.2-2build11.20.2-2build21.20.2-2ubuntu1 Show 6 moreShow less1.21.2-11.21.2-31.21.2-3ubuntu0.11.21.2-3ubuntu0.21.21.2-3ubuntu0.31.21.2-3ubuntu0.4 |
1.21.2-3ubuntu0.5 |
libheifopenSUSE:Tumbleweed |
before 1.23.1-1.1 | 1.23.1-1.1 |
libheifopenSUSE:Leap 16.0 |
before 1.23.1-160000.1.1 | 1.23.1-160000.1.1 |
History
| When | Changed | Sources |
|---|---|---|
| 2026-11-02 | created | CVE List, EUVD, NVD, OSV |
References
github.com/strukturag/libheif/security/advisories/GHSA-9ww4-9v47-m7pj
github.com/strukturag/libheif/issues/1844
github.com/strukturag/libheif/commit/e1a0bc1c1ae74f8075eaca30a1cdb2b9bee698d3
github.com/strukturag/libheif/releases/tag/v1.23.1
docs.bell-sw.com/security/cves/CVE-2026-62377
github.com/CVEProject/cvelistV5/tree/main/cves/2026/62xxx/CVE-2026-62377.json
Show 17 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-62377
security-tracker.debian.org/tracker/CVE-2026-62377
suse.com/support/update/announcement/2026/suse-su-202623320-1
bugzilla.suse.com/1273079
bugzilla.suse.com/1273080
bugzilla.suse.com/1273081
bugzilla.suse.com/1273082
bugzilla.suse.com/1273083
suse.com/security/cve/CVE-2026-62289
suse.com/security/cve/CVE-2026-62291
suse.com/security/cve/CVE-2026-62292
suse.com/security/cve/CVE-2026-62377
suse.com/support/update/announcement/2026/suse-su-20263597-1
ubuntu.com/security/CVE-2026-62377
cve.org/CVERecord?id=CVE-2026-62377
ubuntu.com/security/notices/USN-8774-1
ubuntu.com/security/CVE-2026-62291