CVE-2026-41071 json
libheif: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count
published 2026-05-22 5 mo ago modified 2026-07-25 3 mo ago also EUVD-2026-31501 , JLSEC-2026-574
- cvss
- 8.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 23%
- public exploits
- 0
- none known
Summary
libheif is a HEIF and AVIF file format decoder and encoder. In versions 1.21.2 and prior, a crafted HEIF sequence file where the saiz box declares more samples than actually exist in the track's chunk table causes a heap-buffer-overflow (out-of-bounds read) in the SampleAuxInfoReader constructor. The SampleAuxInfoReader constructor iterates over saiz->get_num_samples() samples but doesn't validate that this count is consistent with the number of chunks in the chunks vector. When saiz declares more samples than the chunks cover, the loop increments current_chunk past chunks.size(), causing an out-of-bounds read on the chunks vector. The vulnerability is triggered during file parsing (heif_context_read_from_file) without any additional user interaction. Any application using libheif to open untrusted HEIF files is affected. This issue has been fixed in version 1.22.0.
Patch / fix
- julia libheif_jll 1.22.2000+0
- struktur libheif 1.22.0
- libheif Debian 14 1.23.1-1
debian advisories DEBIAN-CVE-2026-41071
- libheif Ubuntu 25.10 1.20.2-1ubuntu0.4
- libheif Ubuntu 26.04 LTS 1.21.2-3ubuntu0.1
ubuntu advisories UBUNTU-CVE-2026-41071
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-41071 updated cvss 4.3
libheif: libheif: Information disclosure or denial of service via crafted HEIF file
-
Red Hat All currently supported Red Hat productsnot 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
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 23% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/strukturag/libheif/security/advisories/GHSA-xj92-xjff-h8w3 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H |
| OSV | 3.1 | 8.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| julia | libheif_jll | <1.22.2000+0 |
1.22.2000+0 |
Affected products
- strukturag libheif
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
References
-
github.com
/strukturag/libheif/security/advisories/GHSA-xj92-xjff-h8w3
exploit, mitigation, vendor-advisory, web
-
github.com
/strukturag/libheif/releases/tag/v1.22.0
product, release-notes, web
Sources
- CVE List CVE-2026-41071
- NVD CVE-2026-41071
- OSV JLSEC-2026-574
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.