CVE-2026-41071
libheif: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Active
What an attacker can affect
- Confidentiality
- Low
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.1
libheif: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count
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.
- Record
CVE-2026-41071- CVSS 4.0
- 5.1 Medium
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 - Weakness
- CWE-125
- Updated
- 2026-11-02
EUVDEUVD-2026-31501
5.1
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.
- Record
EUVD-2026-31501- CVSS 4.0
- 5.1 Medium
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 - Updated
- 2026-11-02
NVD
5.1
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.
- Record
CVE-2026-41071- CVSS 4.0
- 5.1 Medium
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 - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVBELL-CVE-2026-41071
8.1
- Record
BELL-CVE-2026-41071- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSV
5.1
libheif: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count
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.
- Record
CVE-2026-41071- CVSS 4.0
- 5.1 Medium
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 - Weakness
- CWE-125
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-41071
8.1
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.
- Record
DEBIAN-CVE-2026-41071- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSVJLSEC-2026-574
5.1
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.
- Record
JLSEC-2026-574- CVSS 4.0
- 5.1 Medium
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 - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-11-CVE-2026-41071
8.1
CVE-2026-41071 in libheif - Patched by Root
Root has patched CVE-2026-41071 in the libheif package for Root:Debian:11. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-11-CVE-2026-41071- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVROOT-OS-DEBIAN-12-CVE-2026-41071
8.1
CVE-2026-41071 in libheif - Patched by Root
Root has patched CVE-2026-41071 in the libheif package for Root:Debian:12. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-12-CVE-2026-41071- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-03
OSVROOT-OS-DEBIAN-13-CVE-2026-41071
8.1
CVE-2026-41071 in libheif - Patched by Root
Root has patched CVE-2026-41071 in the libheif package for Root:Debian:13. Multiple fixed versions available.
- Record
ROOT-OS-DEBIAN-13-CVE-2026-41071- CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-41071
5.1
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.
- Record
UBUNTU-CVE-2026-41071- CVSS 4.0
- 5.1 Medium
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 - CVSS 3.1
- 8.1 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H - Updated
- 2026-11-02
OSVMGASA-2026-0247 No score
Updated libheif packages fix security vulnerabilities
libheif has a Heap OOB Read/SEGV Crash via Zero samples_per_chunk. (CVE-2026-32738) libheif is Vulnerable to Infinite Loop DoS via stts Sample Duration Lookup. (CVE-2026-32739) Heap-Buffer-Overflow Write in Grid Tile Chroma Compositing. (CVE-2026-32740) libheif has a heap buffer overflow in decode_mask_image(). (CVE-2026-32741) Uninitialized Heap Memory Information Leak via Failed Grid Tiles. (CVE-2026-32814) Heap Buffer OOB Read in overlay compositing due to wrong alpha stride. (CVE-2026-32882) strukturag libheif stsz/stts track.cc load out-of-bounds. (CVE-2026-3950) libheif allows Out-of-bounds vector access leading to invalid dereference (DoS). (CVE-2026-41069) Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count. (CVE-2026-41071) A critical heap-based buffer overflow vulnerability exists in libheif v1.21.2 (and likely earlier versions) within the handling of uncompressed HEIF images (ISO/IEC 23001-17, unci item type). When processing a tiled image with chroma subsampling (e.g., 4:2:0 or 4:2:2), the library fails to scale spatial offsets for the chroma planes. This leads to out-of-bounds memory writes when decoding any tile other than the top-left one, potentially resulting in remote code execution. (CVE-2026-47178) Wrapped icef compressed-unit range check causes out-of-bounds read in uncompressed HEIF decoder. (CVE-2026-49271)
- Record
MGASA-2026-0247- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10878-1 No score
gdk-pixbuf-loader-libheif-1.22.2-1.1 on GA media
These are all security issues fixed in the gdk-pixbuf-loader-libheif-1.22.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10878-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:20974-1 No score
Security update for libheif
This update for libheif fixes the following issues
Update to 1.23.0:
-
CVE-2025-68431: heap buffer over-read in
HeifPixelImage: overlay()via crafted HEIF that exercises the overlay image item (bsc#1255735). -
CVE-2026-3949: manipulation of the argument size of a malicious frame can lead to out-of-bounds read (bsc#1259541).
-
CVE-2026-3950: manipulation of the component stsz/stts can lead to out-of-bounds read (bsc#1259544).
-
CVE-2026-32738: Heap OOB Read / SEGV Crash via Zero samples_per_chunk in stsc (bsc#1265874).
-
CVE-2026-32739: Infinite Loop DoS in stts Sample Duration Lookup (bsc#1265875).
-
CVE-2026-32740: Heap-Buffer-Overflow Write in Grid Tile Chroma Compositing (bsc#1265876).
-
CVE-2026-32741: heap buffer overflow in decode_mask_image() (bsc#1265877).
-
CVE-2026-32814: Uninitialized Heap Memory Information Leak via Failed Grid Tiles (bsc#1265878).
-
CVE-2026-32882: Heap Buffer OOB Read in overlay compositing due to wrong alpha stride (bsc#1265879).
-
CVE-2026-41069: Out-of-bounds vector access leading to invalid dereference (bsc#1265979).
-
CVE-2026-41071: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count (bsc#1265980).
-
CVE-2026-47178: Heap Out Of Bounds Write in unci subsystem (bsc#1265981).
-
CVE-2026-47247: Heap Information Disclosure via Grid Image Gap + Uninitialized Pixel Plane Allocation (bsc#1265982).
-
CVE-2026-47251: integer overflow bypass in vvdec_push_data2 (bsc#1265983).
-
CVE-2026-47254: Heap Buffer Overflow in
Track: get_next_sample_raw_data()-- OOB Chunk Vector Access (bsc#1265987). -
CVE-2026-47709: NULL pointer dereference in heif_image_handle_get_image_tiling for malformed unci image missing ispe (bsc#1265988).
-
CVE-2026-47714: Integer overflow in inline mask size calculation causes undersized buffer allocation (bsc#1265989).
-
CVE-2026-48029: heap OOB read in ImageItem_Grid: decode_grid_tile via irot-induced tile-coordinate underflow (bsc#1265990).
-
CVE-2026-49271: Wrapped icef compressed-unit range check causes out-of-bounds read in uncompressed HEIF decoder (bsc#1266282).
-
CVE-2026-50142: unbounded heap allocation in HEIF sequence parser (bsc#1267455).
-
Heap buffer overflow via uint32_t stride overflow in image plane allocation (+ 2 additional instances) (bsc#1265997).
-
Incorrect byte-count initialization in BitstreamRange constructor allows container-boundary check bypass (bsc#1265995).
-
Integer Overflow in SampleAuxInfoReader Offset Calculation (bsc#1265992).
-
Out-of-bounds read and assertion-based DoS in EXIF parsing (find_exif_tag / read32) with short EXIF TIFF payload (bsc#1265996).
-
Out-of-bounds write in inline mask region API when source mask exceeds declared region (bsc#1266281).
-
update to 1.23.0:
- add API functions to read and write metadata: ambient viewing environment nominal diffuse white luminance
- update to 1.22.2:
- adds a output_image_nclx_profile_passthrough option to heif_decoding_options
- build issues with OpenJPEG plugin (#1813)
- non-plain C in header (#1812)
- update to 1.22.0:
- This is a large release with substantial new functionality, mainly focusing on generalized image formats (e.g., multi- spectral images) and a reworked implementation of ISO/IEC 23001-17 (lossless image codec).
- HDR up to 64 bpp
- Multi-component images with arbitrary component layouts (multi-spectral images, arbitrary non-visual data)
- Filter-array (Bayer / mosaic) images, with debayering in color transformation pipeline
- Metadata: chroma-sample location (cloc), sample non- uniformity (snuc), sensor bad-pixel map (sbpm), polarization pattern (splz)
- heif-dec can now convert to WebP (thanks to @torusrxxx).
- heif-enc can now accept input from WebP, HEIF, pure raw files (including floating point pixel data), and CMYK JPEG (converted to RGB).
- TIFF input can now read many TIFF formats used in geospatial imaging, like: 16-bit, signed integers, float samples, tiled TIFFs,…
- Record
openSUSE-SU-2026:20974-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:22153-1 No score
Security update for libheif
This update for libheif fixes the following issues
Update to 1.23.0:
-
CVE-2025-68431: heap buffer over-read in
HeifPixelImage: overlay()via crafted HEIF that exercises the overlay image item (bsc#1255735). -
CVE-2026-3949: manipulation of the argument size of a malicious frame can lead to out-of-bounds read (bsc#1259541).
-
CVE-2026-3950: manipulation of the component stsz/stts can lead to out-of-bounds read (bsc#1259544).
-
CVE-2026-32738: Heap OOB Read / SEGV Crash via Zero samples_per_chunk in stsc (bsc#1265874).
-
CVE-2026-32739: Infinite Loop DoS in stts Sample Duration Lookup (bsc#1265875).
-
CVE-2026-32740: Heap-Buffer-Overflow Write in Grid Tile Chroma Compositing (bsc#1265876).
-
CVE-2026-32741: heap buffer overflow in decode_mask_image() (bsc#1265877).
-
CVE-2026-32814: Uninitialized Heap Memory Information Leak via Failed Grid Tiles (bsc#1265878).
-
CVE-2026-32882: Heap Buffer OOB Read in overlay compositing due to wrong alpha stride (bsc#1265879).
-
CVE-2026-41069: Out-of-bounds vector access leading to invalid dereference (bsc#1265979).
-
CVE-2026-41071: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count (bsc#1265980).
-
CVE-2026-47178: Heap Out Of Bounds Write in unci subsystem (bsc#1265981).
-
CVE-2026-47247: Heap Information Disclosure via Grid Image Gap + Uninitialized Pixel Plane Allocation (bsc#1265982).
-
CVE-2026-47251: integer overflow bypass in vvdec_push_data2 (bsc#1265983).
-
CVE-2026-47254: Heap Buffer Overflow in
Track: get_next_sample_raw_data()-- OOB Chunk Vector Access (bsc#1265987). -
CVE-2026-47709: NULL pointer dereference in heif_image_handle_get_image_tiling for malformed unci image missing ispe (bsc#1265988).
-
CVE-2026-47714: Integer overflow in inline mask size calculation causes undersized buffer allocation (bsc#1265989).
-
CVE-2026-48029: heap OOB read in ImageItem_Grid: decode_grid_tile via irot-induced tile-coordinate underflow (bsc#1265990).
-
CVE-2026-49271: Wrapped icef compressed-unit range check causes out-of-bounds read in uncompressed HEIF decoder (bsc#1266282).
-
CVE-2026-50142: unbounded heap allocation in HEIF sequence parser (bsc#1267455).
-
Heap buffer overflow via uint32_t stride overflow in image plane allocation (+ 2 additional instances) (bsc#1265997).
-
Incorrect byte-count initialization in BitstreamRange constructor allows container-boundary check bypass (bsc#1265995).
-
Integer Overflow in SampleAuxInfoReader Offset Calculation (bsc#1265992).
-
Out-of-bounds read and assertion-based DoS in EXIF parsing (find_exif_tag / read32) with short EXIF TIFF payload (bsc#1265996).
-
Out-of-bounds write in inline mask region API when source mask exceeds declared region (bsc#1266281).
-
update to 1.23.0:
- add API functions to read and write metadata: ambient viewing environment nominal diffuse white luminance
- update to 1.22.2:
- adds a output_image_nclx_profile_passthrough option to heif_decoding_options
- build issues with OpenJPEG plugin (#1813)
- non-plain C in header (#1812)
- update to 1.22.0:
- This is a large release with substantial new functionality, mainly focusing on generalized image formats (e.g., multi- spectral images) and a reworked implementation of ISO/IEC 23001-17 (lossless image codec).
- HDR up to 64 bpp
- Multi-component images with arbitrary component layouts (multi-spectral images, arbitrary non-visual data)
- Filter-array (Bayer / mosaic) images, with debayering in color transformation pipeline
- Metadata: chroma-sample location (cloc), sample non- uniformity (snuc), sensor bad-pixel map (sbpm), polarization pattern (splz)
- heif-dec can now convert to WebP (thanks to @torusrxxx).
- heif-enc can now accept input from WebP, HEIF, pure raw files (including floating point pixel data), and CMYK JPEG (converted to RGB).
- TIFF input can now read many TIFF formats used in geospatial imaging, like: 16-bit, signed integers, float samples, tiled TIFFs,…
- Record
SUSE-SU-2026:22153-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:2622-1 No score
Security update for libheif
This update for libheif fixes the following issues
Update to 1.23.0:
- CVE-2025-68431: heap buffer over-read in
HeifPixelImage: overlay()via crafted HEIF that exercises the overlay image item (bsc#1255735). - CVE-2026-3950: manipulation of the component stsz/stts can lead to out-of-bounds read (bsc#1259544).
- CVE-2026-32738: Heap OOB Read / SEGV Crash via Zero samples_per_chunk in stsc (bsc#1265874).
- CVE-2026-32739: Infinite Loop DoS in stts Sample Duration Lookup (bsc#1265875).
- CVE-2026-32740: Heap-Buffer-Overflow Write in Grid Tile Chroma Compositing (bsc#1265876).
- CVE-2026-32741: heap buffer overflow in decode_mask_image() (bsc#1265877).
- CVE-2026-32814: Uninitialized Heap Memory Information Leak via Failed Grid Tiles (bsc#1265878).
- CVE-2026-32882: Heap Buffer OOB Read in overlay compositing due to wrong alpha stride (bsc#1265879).
- CVE-2026-41069: Out-of-bounds vector access leading to invalid dereference (bsc#1265979).
- CVE-2026-41071: Heap buffer over-read in SampleAuxInfoReader via crafted HEIF sequence file with mismatched saiz sample count (bsc#1265980).
- CVE-2026-47178: Heap Out Of Bounds Write in unci subsystem (bsc#1265981).
- CVE-2026-47247: Heap Information Disclosure via Grid Image Gap + Uninitialized Pixel Plane Allocation (bsc#1265982).
- CVE-2026-47251: integer overflow bypass in vvdec_push_data2 (bsc#1265983).
- CVE-2026-47254: Heap Buffer Overflow in
Track: get_next_sample_raw_data()-- OOB Chunk Vector Access (bsc#1265987). - CVE-2026-47709: NULL pointer dereference in heif_image_handle_get_image_tiling for malformed unci image missing ispe (bsc#1265988).
- CVE-2026-47714: Integer overflow in inline mask size calculation causes undersized buffer allocation (bsc#1265989).
- CVE-2026-48029: heap OOB read in ImageItem_Grid: decode_grid_tile via irot-induced tile-coordinate underflow (bsc#1265990).
- CVE-2026-49271: Wrapped icef compressed-unit range check causes out-of-bounds read in uncompressed HEIF decoder (bsc#1266282).
- CVE-2026-50142: unbounded heap allocation in HEIF sequence parser (bsc#1267455).
- Heap buffer overflow via uint32_t stride overflow in image plane allocation (+ 2 additional instances) (bsc#1265997).
- Incorrect byte-count initialization in BitstreamRange constructor allows container-boundary check bypass (bsc#1265995).
- Integer Overflow in SampleAuxInfoReader Offset Calculation (bsc#1265992).
- Out-of-bounds read and assertion-based DoS in EXIF parsing (find_exif_tag / read32) with short EXIF TIFF payload (bsc#1265996).
- Out-of-bounds write in inline mask region API when source mask exceeds declared region (bsc#1266281).
Changes for libheif:
- version update to 1.23.0:
- add API functions to read and write metadata: ambient viewing environment nominal diffuse white luminance
- adds a output_image_nclx_profile_passthrough option to heif_decoding_options
- CVE-2026-50142 (GHSA-jvmp-j3cw-84mh) - unbounded heap allocation in HEIF sequence parser (stsz fixed-size mode missing bound check)
- version update to 1.22.2:
- build issues with OpenJPEG plugin (#1813)
- non-plain C in header (#1812)
- CVE-2026-49271 (GHSA-r7qj-cg5r-r6vf) - Wrapped icef compressed-unit range check causes out-of-bounds read in uncompressed HEIF decoder
- CVE TBD (GHSA-5hqq-636x-r3cr) - Out-of-bounds write in inline mask region API when source mask exceeds declared region
- update to 1.22.0:
- This is a large release with substantial new functionality, mainly focusing on generalized image formats (e.g., multi- spectral images) and a reworked implementation of ISO/IEC 23001-17 (lossless image codec).
- HDR up to 64 bpp
- Multi-component images with arbitrary component layouts (multi-spectral images, arbitrary non-visual data)
- Filter-array (Bayer / mosaic) images, with debayering in color transformation pipeline
- Metadata: chroma-sample location (cloc), sample non- uniformity (snuc), sensor bad-pixel map (sbpm), polarization pattern (splz)
- heif-dec can…
- Record
SUSE-SU-2026:2622-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libheifAlpaquita:stream |
1.20.2-r2 up to 1.22.2-r0 | 1.22.2-r0 |
libheifDebian:12 |
All versions, plus listed versions 1.15.1-11.15.1-1+deb12u11.16.2-11.16.2-21.16.2-3 Show 32 moreShow less1.17.0-11.17.1-11.17.4-11.17.6-11.17.6-21.17.6-31.17.6-41.18.1-11.18.1-21.18.2-11.18.2-21.19.1-11.19.1-1~bpo12+11.19.1-1~bpo12+21.19.3-11.19.3-1~bpo12+11.19.5-11.19.7-11.19.7-1~bpo12+11.19.8-11.20.1-11.20.2-11.20.2-21.21.2-11.21.2-21.21.2-31.21.2-41.23.1-11.23.2-11.23.3-11.23.4-11.23.4-1~deb13u1 |
None known |
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 |
libheif_jllJulia |
before 1.22.2000+0 | 1.22.2000+0 |
libheifMageia:10 From an advisory covering 11 CVEs |
before 1.20.2-3.1.mga10 | 1.20.2-3.1.mga10 |
libheifMageia:10 From an advisory covering 11 CVEs |
before 1.20.2-3.1.mga10.tainted | 1.20.2-3.1.mga10.tainted |
libheifRoot:Debian:11 |
before 1.11.0-1+deb11u2.aikido.5 | 1.11.0-1+deb11u2.aikido.51.11.0-1+deb11u2.aikido.61.11.0-1+deb11u2.root.io.41.11.0-1+deb11u2.root.io.3 |
rootio-libheifRoot:Debian:11 |
before 1.11.0-1+deb11u2.aikido.5 | 1.11.0-1+deb11u2.aikido.51.11.0-1+deb11u2.aikido.61.11.0-1+deb11u2.root.io.41.11.0-1+deb11u2.root.io.3 |
libheifRoot:Debian:12 |
before 1.15.1-1+deb12u1.root.io.9 | 1.15.1-1+deb12u1.root.io.91.15.1-1+deb12u1.root.io.101.15.1-1+deb12u1.root.io.111.15.1-1+deb12u1.aikido.121.15.1-1+deb12u1.aikido.131.15.1-1+deb12u1.aikido.141.15.1-1+deb12u1.aikido.151.15.1-1+deb12u1.aikido.161.15.1-1+deb12u1.aikido.17 |
rootio-libheifRoot:Debian:12 |
before 1.15.1-1+deb12u1.root.io.9 | 1.15.1-1+deb12u1.root.io.91.15.1-1+deb12u1.root.io.101.15.1-1+deb12u1.root.io.111.15.1-1+deb12u1.aikido.121.15.1-1+deb12u1.aikido.131.15.1-1+deb12u1.aikido.141.15.1-1+deb12u1.aikido.151.15.1-1+deb12u1.aikido.161.15.1-1+deb12u1.aikido.17 |
Show 8 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libheifSUSE:Linux Enterprise Server 16.0 From an advisory covering 20 CVEs |
before 1.23.0-160000.1.1 | 1.23.0-160000.1.1 |
libheifSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 20 CVEs |
before 1.23.0-160000.1.1 | 1.23.0-160000.1.1 |
libheifSUSE:Linux Enterprise Module for Desktop Applications 15 SP7 From an advisory covering 20 CVEs |
before 1.23.0-150700.3.15.1 | 1.23.0-150700.3.15.1 |
libheifSUSE:Linux Enterprise Module for Package Hub 15 SP7 From an advisory covering 20 CVEs |
before 1.23.0-150700.3.15.1 | 1.23.0-150700.3.15.1 |
libheifUbuntu:25.10 |
before 1.20.2-1ubuntu0.4, plus listed versions 1.19.7-11.19.8-11.20.2-11.20.2-1ubuntu0.11.20.2-1ubuntu0.3 |
1.20.2-1ubuntu0.4 |
libheifUbuntu:26.04:LTS |
before 1.21.2-3ubuntu0.1, plus listed versions 1.20.2-11.20.2-21.20.2-2build11.20.2-2build21.20.2-2ubuntu11.21.2-11.21.2-3 |
1.21.2-3ubuntu0.1 |
libheifopenSUSE:Tumbleweed From an advisory covering 16 CVEs |
before 1.22.2-1.1 | 1.22.2-1.1 |
libheifopenSUSE:Leap 16.0 From an advisory covering 20 CVEs |
before 1.23.0-160000.1.1 | 1.23.0-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected | OSV | |
| affected | ||
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-41071 is a medium vulnerability (CVSS 5.1) in Struktur Libheif, published May 22, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 23rd percentile. Fixed in libheif 1.22.2-r0.
References
github.com/strukturag/libheif/security/advisories/GHSA-xj92-xjff-h8w3
github.com/strukturag/libheif/releases/tag/v1.22.0
docs.bell-sw.com/security/cves/CVE-2026-41071
github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41071.json
nvd.nist.gov/vuln/detail/CVE-2026-41071
security-tracker.debian.org/tracker/CVE-2026-41071
Show 53 moreShow less
advisories.mageia.org/MGASA-2026-0247.html
bugs.mageia.org/show_bug.cgi?id=35729
ubuntu.com/security/notices/USN-8454-1
ubuntu.com/security/notices/USN-8479-1
suse.com/support/update/announcement/2026/suse-su-202622153-1
bugzilla.suse.com/1255735
bugzilla.suse.com/1259541
bugzilla.suse.com/1259544
bugzilla.suse.com/1265874
bugzilla.suse.com/1265875
bugzilla.suse.com/1265876
bugzilla.suse.com/1265877
bugzilla.suse.com/1265878
bugzilla.suse.com/1265879
bugzilla.suse.com/1265979
bugzilla.suse.com/1265980
bugzilla.suse.com/1265981
bugzilla.suse.com/1265982
bugzilla.suse.com/1265983
bugzilla.suse.com/1265987
bugzilla.suse.com/1265988
bugzilla.suse.com/1265989
bugzilla.suse.com/1265990
bugzilla.suse.com/1265992
bugzilla.suse.com/1265995
bugzilla.suse.com/1265996
bugzilla.suse.com/1265997
bugzilla.suse.com/1266281
bugzilla.suse.com/1266282
bugzilla.suse.com/1267455
suse.com/security/cve/CVE-2025-68431
suse.com/security/cve/CVE-2026-32738
suse.com/security/cve/CVE-2026-32739
suse.com/security/cve/CVE-2026-32740
suse.com/security/cve/CVE-2026-32741
suse.com/security/cve/CVE-2026-32814
suse.com/security/cve/CVE-2026-32882
suse.com/security/cve/CVE-2026-3949
suse.com/security/cve/CVE-2026-3950
suse.com/security/cve/CVE-2026-41069
suse.com/security/cve/CVE-2026-41071
suse.com/security/cve/CVE-2026-47178
suse.com/security/cve/CVE-2026-47247
suse.com/security/cve/CVE-2026-47251
suse.com/security/cve/CVE-2026-47254
suse.com/security/cve/CVE-2026-47709
suse.com/security/cve/CVE-2026-47714
suse.com/security/cve/CVE-2026-48029
suse.com/security/cve/CVE-2026-49271
suse.com/security/cve/CVE-2026-50142
suse.com/support/update/announcement/2026/suse-su-20262622-1
ubuntu.com/security/CVE-2026-41071
cve.org/CVERecord?id=CVE-2026-41071
Left out here: the rest of 3 source descriptions. The JSON record has them.