mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 07:51:59 -09:00
https://github.com/strukturag/libheif/releases/tag/v1.23.3 Fixes the following CVEs: (CVE numbers will be added when assigned.) CVE-2026-XXXXX (GHSA-x8r2-mggj-j6wr) Heap buffer overflow (write) in the uncompressed (unci) mixed-interleave decoder when the two chroma components declare different bit depths. Both the written bytes and the overflow length are controlled by the file. (critical) CVE-2026-XXXXX (GHSA-8fmq-r4pf-7m57) Permanent decoder deadlock through a reference cycle between an image and its alpha auxiliary image. The alpha edge was not covered by the cycle guard and re-entered a held mutex. (high) CVE-2026-XXXXX (GHSA-w7mc-p8jc-p853) Heap out-of-bounds read in the YCbCr 4:2:0 to 16-bit interleaved RGB conversion when the chroma planes have a lower bit depth than luma. Heap memory could end up in the decoded image. YCbCr conversions with mismatched luma and chroma bit depths are now rejected. (high) CVE-2026-XXXXX (GHSA-4jqm-2x34-6f6r) Heap buffer overflow in the SVT-AV1 encoder plugin when encoding a high-bit-depth alpha channel, and a double free on its send-picture error path. (high) CVE-2026-84451 (GHSA-hh47-fhqr-cj2r) Incomplete fix for GHSA-73p7-m7gg-w2jv: the tile range check of the unci decoder (without icef) could still overflow, allowing an out-of-bounds read. (medium) CVE-2026-XXXXX (GHSA-4h82-g446-83fm) Heap out-of-bounds read when converting odd-height 4:2:0 frames of an uncompressed (uncv) image sequence to RGB. (medium) CVE-2026-XXXXX (GHSA-9rj8-5mp5-26c9) Out-of-bounds read in the RGB to YCbCr identity-matrix color conversion when the R, G, and B planes have different bit depths. (medium) CVE-2026-84450 (GHSA-gh5q-69gg-c964) A clap property combined with an oversized ispe reached an assert() in the Fraction arithmetic and aborted the process (incomplete fix for GHSA-jc8f-p23p-5hjg). An error is returned instead. (medium) (GHSA-mw6f-29j3-76f4) Several smaller findings: heif_image_handle_get_depth_image_handle() and heif_image_handle_get_depth_image_representation_info() dereferenced a null pointer on files without a depth image; the TIFF input decoder of the example tools had an unbounded EXIF tag allocation and a division by zero on zero YCbCr subsampling; assert()s in the PNG input decoder are now error returns; integer overflow in the Go binding's ImageAccess.GetPlane(); heif-view now verifies the decoded frame size before display. (medium) (GHSA-8857-r8x5-7499) Undefined behavior (negative shift) in the HDR bit-depth up-conversion for target bit depths above 16. Such conversions are now rejected. (low) Signed-off-by: Bernd Kuhls <bernd@kuhls.net> Signed-off-by: Julien Olivain <ju.o@free.fr>
81 lines
2.1 KiB
Makefile
81 lines
2.1 KiB
Makefile
################################################################################
|
|
#
|
|
# libheif
|
|
#
|
|
################################################################################
|
|
|
|
LIBHEIF_VERSION = 1.23.3
|
|
LIBHEIF_SITE = https://github.com/strukturag/libheif/releases/download/v$(LIBHEIF_VERSION)
|
|
LIBHEIF_LICENSE = LGPL-3.0+
|
|
LIBHEIF_LICENSE_FILES = COPYING
|
|
LIBHEIF_CPE_ID_VENDOR = struktur
|
|
LIBHEIF_INSTALL_STAGING = YES
|
|
LIBHEIF_CONF_OPTS = \
|
|
-DENABLE_PLUGIN_LOADING=OFF \
|
|
-DWITH_AOM_DECODER=OFF \
|
|
-DWITH_AOM_ENCODER=OFF \
|
|
-DWITH_DEFLATE_HEADER_COMPRESSION=OFF \
|
|
-DWITH_EXAMPLES=OFF \
|
|
-DWITH_GDK_PIXBUF=OFF \
|
|
-DWITH_LIBSHARPYUV=OFF \
|
|
-DWITH_RAV1E=OFF \
|
|
-DWITH_REDUCED_VISIBILITY=ON \
|
|
-DWITH_SvtEnc=OFF
|
|
|
|
ifeq ($(BR2_PACKAGE_DAV1D),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_DAV1D=ON
|
|
LIBHEIF_DEPENDENCIES += dav1d
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_DAV1D=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_FFMPEG),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_FFMPEG_DECODER=ON
|
|
LIBHEIF_DEPENDENCIES += ffmpeg
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_FFMPEG_DECODER=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_KVAZAAR),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_KVAZAAR=ON
|
|
LIBHEIF_DEPENDENCIES += kvazaar
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_KVAZAAR=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBDE265),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=ON
|
|
LIBHEIF_DEPENDENCIES += libde265
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_LIBDE265=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_JPEG),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_JPEG_DECODER=ON -DWITH_JPEG_ENCODER=ON
|
|
LIBHEIF_DEPENDENCIES += jpeg
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_JPEG_DECODER=OFF -DWITH_JPEG_ENCODER=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_OPENJPEG),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_OpenJPEG_DECODER=ON -DWITH_OpenJPEG_ENCODER=ON
|
|
LIBHEIF_DEPENDENCIES += openjpeg
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_OpenJPEG_DECODER=OFF -DWITH_OpenJPEG_ENCODER=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_X265),y)
|
|
LIBHEIF_CONF_OPTS += -DWITH_X265=ON
|
|
LIBHEIF_DEPENDENCIES += x265
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DWITH_X265=OFF
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_64735),y)
|
|
LIBHEIF_CONF_OPTS += -DENABLE_PARALLEL_TILE_DECODING=OFF
|
|
else
|
|
LIBHEIF_CONF_OPTS += -DENABLE_PARALLEL_TILE_DECODING=ON
|
|
endif
|
|
|
|
$(eval $(cmake-package))
|