Files
buildroot/package/poppler/poppler.mk
Titouan Christophe f6675769f4 package/poppler: security bump to v25.10.0
This contains many bug and security fixes since v22.12.0.
See the release notes: https://poppler.freedesktop.org/releases.html

In addition:
- Drop patch that has been applied upstream
- Update a few cmake configuration options that changed upstream

There is currently a build failure when enabling gpgme, so disable it
unconditionally for now.

Finally, this fixes the following vulnerabilities:
- CVE-2024-6239:
    A flaw was found in the Poppler's Pdfinfo utility. This issue occurs
    when using -dests parameter with pdfinfo utility. By using certain
    malformed input files, an attacker could cause the utility to crash,
    leading to a denial of service.
    https://www.cve.org/CVERecord?id=CVE-2024-6239

- CVE-2024-56378:
    libpoppler.so in Poppler through 24.12.0 has an out-of-bounds read
    vulnerability within the JBIG2Bitmap::combine function in
    JBIG2Stream.cc.
    https://www.cve.org/CVERecord?id=CVE-2024-56378

- CVE-2025-32364:
    A floating-point exception in the PSStack::roll function of Poppler
    before 25.04.0 can cause an application to crash when handling
    malformed inputs associated with INT_MIN.
    https://www.cve.org/CVERecord?id=CVE-2025-32364

- CVE-2025-32365:
    Poppler before 25.04.0 allows crafted input files to trigger out-of-
    bounds reads in the JBIG2Bitmap::combine function in JBIG2Stream.cc
    because of a misplaced isOk check.
    https://www.cve.org/CVERecord?id=CVE-2025-32365

- CVE-2025-43903:
    NSSCryptoSignBackend.cc in Poppler before 25.04.0 does not verify the
    adbe.pkcs7.sha1 signatures on documents, resulting in potential
    signature forgeries.
    https://www.cve.org/CVERecord?id=CVE-2025-43903

- CVE-2025-50420:
    An issue in the pdfseparate utility of freedesktop poppler v25.04.0
    allows attackers to cause an infinite recursion via supplying a
    crafted PDF file. This can lead to a Denial of Service (DoS).
    https://www.cve.org/CVERecord?id=CVE-2025-50420

- CVE-2025-52886:
    Poppler is a PDF rendering library. Versions prior to 25.06.0 use
    `std::atomic_int` for reference counting. Because `std::atomic_int` is
    only 32 bits, it is possible to overflow the reference count and
    trigger a use-after-free. Version 25.06.0 patches the issue.
    https://www.cve.org/CVERecord?id=CVE-2025-52886

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
[Julien: mark commit as "security" in commit log title]
Signed-off-by: Julien Olivain <ju.o@free.fr>
(cherry picked from commit cdd1c5ca55)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-10-30 08:56:24 +01:00

155 lines
3.7 KiB
Makefile

################################################################################
#
# poppler
#
################################################################################
POPPLER_VERSION = 25.10.0
POPPLER_SOURCE = poppler-$(POPPLER_VERSION).tar.xz
POPPLER_SITE = https://poppler.freedesktop.org
POPPLER_DEPENDENCIES = fontconfig host-pkgconf
POPPLER_LICENSE = GPL-2.0+
POPPLER_LICENSE_FILES = COPYING
POPPLER_CPE_ID_VENDOR = freedesktop
POPPLER_INSTALL_STAGING = YES
POPPLER_CONF_OPTS = \
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
-DBUILD_GTK_TESTS=OFF \
-DBUILD_QT5_TESTS=OFF \
-DBUILD_QT6_TESTS=OFF \
-DBUILD_CPP_TESTS=OFF \
-DBUILD_MANUAL_TESTS=OFF \
-DENABLE_GTK_DOC=OFF \
-DENABLE_QT6=OFF \
-DENABLE_GPGME=OFF \
-DRUN_GPERF_IF_PRESENT=OFF
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
POPPLER_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
endif
ifeq ($(BR2_PACKAGE_BOOST),y)
POPPLER_DEPENDENCIES += boost
POPPLER_CONF_OPTS += -DENABLE_BOOST=ON
else
POPPLER_CONF_OPTS += -DENABLE_BOOST=OFF
endif
ifeq ($(BR2_PACKAGE_JPEG),y)
POPPLER_DEPENDENCIES += jpeg
POPPLER_CONF_OPTS += -DENABLE_DCTDECODER=libjpeg -DWITH_JPEG=ON
else
POPPLER_CONF_OPTS += -DENABLE_DCTDECODER=none -DWITH_JPEG=OFF
endif
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
POPPLER_DEPENDENCIES += gobject-introspection
POPPLER_CONF_OPTS += \
-DENABLE_GOBJECT_INTROSPECTION=ON \
-DINTROSPECTION_SCANNER=$(STAGING_DIR)/usr/bin/g-ir-scanner \
-DINTROSPECTION_COMPILER=$(STAGING_DIR)/usr/bin/g-ir-compiler \
-DINTROSPECTION_COMPILER_ARGS="--includedir=$(STAGING_DIR)/usr/share/gir-1.0"
else
POPPLER_CONF_OPTS += -DENABLE_GOBJECT_INTROSPECTION=OFF
endif
ifeq ($(BR2_PACKAGE_LIBPNG),y)
POPPLER_DEPENDENCIES += libpng
POPPLER_CONF_OPTS += -DWITH_PNG=ON
else
POPPLER_CONF_OPTS += -DWITH_PNG=OFF
endif
ifeq ($(BR2_PACKAGE_LCMS2),y)
POPPLER_DEPENDENCIES += lcms2
POPPLER_CONF_OPTS += -DENABLE_CMS=lcms2
else
POPPLER_CONF_OPTS += -DENABLE_CMS=none
endif
ifeq ($(BR2_PACKAGE_OPENJPEG),y)
POPPLER_DEPENDENCIES += openjpeg
POPPLER_CONF_OPTS += -DENABLE_LIBOPENJPEG=openjpeg2
else
POPPLER_CONF_OPTS += -DENABLE_LIBOPENJPEG=none
endif
ifeq ($(BR2_PACKAGE_LIBCURL),y)
POPPLER_DEPENDENCIES += libcurl
POPPLER_CONF_OPTS += -DENABLE_LIBCURL=ON
else
POPPLER_CONF_OPTS += -DENABLE_LIBCURL=OFF
endif
ifeq ($(BR2_PACKAGE_POPPLER_QT5),y)
POPPLER_DEPENDENCIES += qt5base
POPPLER_CONF_OPTS += -DENABLE_QT5=ON
else
POPPLER_CONF_OPTS += -DENABLE_QT5=OFF
endif
ifeq ($(BR2_PACKAGE_POPPLER_UTILS),y)
POPPLER_CONF_OPTS += -DENABLE_UTILS=ON
else
POPPLER_CONF_OPTS += -DENABLE_UTILS=OFF
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
POPPLER_DEPENDENCIES += zlib
POPPLER_CONF_OPTS += -DENABLE_ZLIB_UNCOMPRESS=ON
else
POPPLER_CONF_OPTS += -DENABLE_ZLIB_UNCOMPRESS=OFF
endif
ifeq ($(BR2_PACKAGE_CAIRO),y)
POPPLER_DEPENDENCIES += cairo
POPPLER_CONF_OPTS += -DWITH_Cairo=ON
else
POPPLER_CONF_OPTS += -DWITH_Cairo=OFF
endif
ifeq ($(BR2_PACKAGE_TIFF),y)
POPPLER_DEPENDENCIES += tiff
POPPLER_CONF_OPTS += -DENABLE_LIBTIFF=ON
else
POPPLER_CONF_OPTS += -DENABLE_LIBTIFF=OFF
endif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
POPPLER_DEPENDENCIES += libglib2
POPPLER_CONF_OPTS += -DENABLE_GLIB=ON
else
POPPLER_CONF_OPTS += -DENABLE_GLIB=OFF
endif
ifeq ($(BR2_PACKAGE_LIBNSS),y)
POPPLER_DEPENDENCIES += libnss
POPPLER_CONF_OPTS += -DENABLE_NSS3=ON
else
POPPLER_CONF_OPTS += -DENABLE_NSS3=OFF
endif
ifeq ($(BR2_PACKAGE_LCMS2),y)
POPPLER_DEPENDENCIES += lcms2
POPPLER_CONF_OPTS += -DENABLE_LCMS=ON
else
POPPLER_CONF_OPTS += -DENABLE_LCMS=OFF
endif
ifeq ($(BR2_SOFT_FLOAT),y)
POPPLER_CONF_OPTS += -DUSE_FLOAT=OFF
else
POPPLER_CONF_OPTS += -DUSE_FLOAT=ON
endif
POPPLER_CXXFLAGS = $(TARGET_CXXCFLAGS)
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_68485),y)
POPPLER_CXXFLAGS += -O0
endif
POPPLER_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(POPPLER_CXXFLAGS)"
$(eval $(cmake-package))