mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-26 03:50:44 -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>
(cherry picked from commit d148168e20)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
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))
|