From: Bernd Kuhls <bernd@kuhls.net>
To: buildroot@buildroot.org
Cc: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com>,
Tudor Holton <buildroot@tudorholton.com>,
Fabrice Fontaine <fontaine.fabrice@gmail.com>,
Angelo Compagnucci <angelo.compagnucci@gmail.com>,
Olivier Schonken <olivier.schonken@gmail.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Romain Naour <romain.naour@gmail.com>,
Giulio Benetti <giulio.benetti@benettiengineering.com>
Subject: [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524
Date: Fri, 1 May 2026 17:27:43 +0200 [thread overview]
Message-ID: <20260501152758.2610763-8-bernd@kuhls.net> (raw)
In-Reply-To: <20260501152758.2610763-1-bernd@kuhls.net>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...ix-infinite-loop-caused-by-crafted-f.patch | 83 +++++++++++++++++++
package/cups-filters/cups-filters.mk | 3 +
2 files changed, 86 insertions(+)
create mode 100644 package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
diff --git a/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch b/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
new file mode 100644
index 0000000000..e9900e5672
--- /dev/null
+++ b/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
@@ -0,0 +1,83 @@
+From b03866fd2e251a6d822a5e8c807c8d47b4d2dce2 Mon Sep 17 00:00:00 2001
+From: Zdenek Dohnal <zdohnal@redhat.com>
+Date: Wed, 12 Nov 2025 16:02:20 +0100
+Subject: [PATCH] rastertopclx.c: Fix infinite loop caused by crafted file
+
+Infinite loop happened because of crafted input raster file, which led
+into heap buffer overflow of `CompressBuf` array.
+
+Based on comments there should be always some `count` when compressing
+the data, and processing of crafted file ended with offset and count
+being 0.
+
+Fixes CVE-2025-64524
+
+Upstream: https://github.com/OpenPrinting/cups-filters/commit/b03866fd2e251a6d822a5e8c807c8d47b4d2dce2
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ filter/rastertopclx.c | 25 +++++++++++++++++++++++--
+ 1 file changed, 23 insertions(+), 2 deletions(-)
+
+diff --git a/filter/rastertopclx.c b/filter/rastertopclx.c
+index 3e7c129da..1015308da 100644
+--- a/filter/rastertopclx.c
++++ b/filter/rastertopclx.c
+@@ -818,10 +818,10 @@ StartPage(ppd_file_t *ppd, /* I - PPD file */
+ }
+
+ if (header->cupsCompression)
+- CompBuffer = malloc(DotBufferSize * 4);
++ CompBuffer = calloc(DotBufferSize * 4, sizeof(unsigned char));
+
+ if (header->cupsCompression >= 3)
+- SeedBuffer = malloc(DotBufferSize);
++ SeedBuffer = calloc(DotBufferSize, sizeof(unsigned char));
+
+ SeedInvalid = 1;
+
+@@ -1152,6 +1152,13 @@ CompressData(unsigned char *line, /* I - Data to compress */
+ seed ++;
+ count ++;
+ }
++
++ //
++ // Bail out if we don't have count to compress
++ //
++
++ if (count == 0)
++ break;
+ }
+
+ /*
+@@ -1245,6 +1252,13 @@ CompressData(unsigned char *line, /* I - Data to compress */
+
+ count = line_ptr - start;
+
++ //
++ // Bail out if we don't have count to compress
++ //
++
++ if (count == 0)
++ break;
++
+ #if 0
+ fprintf(stderr, "DEBUG: offset=%d, count=%d, comp_ptr=%p(%d of %d)...\n",
+ offset, count, comp_ptr, comp_ptr - CompBuffer,
+@@ -1416,6 +1430,13 @@ CompressData(unsigned char *line, /* I - Data to compress */
+
+ count = (line_ptr - start) / 3;
+
++ //
++ // Bail out if we don't have count to compress
++ //
++
++ if (count == 0)
++ break;
++
+ /*
+ * Place mode 10 compression data in the buffer; each sequence
+ * starts with a command byte that looks like:
+--
+2.47.3
+
diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk
index dcfb2e9500..6bc4610376 100644
--- a/package/cups-filters/cups-filters.mk
+++ b/package/cups-filters/cups-filters.mk
@@ -13,6 +13,9 @@ CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation
# 0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch
CUPS_FILTERS_IGNORE_CVES += CVE-2023-24805
+# 0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
+CUPS_FILTERS_IGNORE_CVES += CVE-2025-64524
+
CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg
CUPS_FILTERS_CONF_OPTS = \
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-05-01 15:28 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 01/21] package/autoconf: bump version to 2.73 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 02/21] package/autoconf-archive: bump version to 2024.10.16 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 03/21] package/redis-plus-plus: disable -Werror Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 04/21] package/dump1090: " Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 05/21] package/qt5/qt5webkit: Fix build with gcc 16.x Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 06/21] package/grantlee: " Bernd Kuhls
2026-05-01 15:27 ` Bernd Kuhls [this message]
2026-05-04 14:55 ` [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524 Thomas Perale via buildroot
2026-05-01 15:27 ` [Buildroot] [PATCH v4 08/21] package/qpdf: bump to version 12.3.2 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 09/21] package/cups-filters: fix build against qpdf 12 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 10/21] package/cups-filters: needs autoreconf to fix build with gcc 16.x Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 11/21] package/openjdk{-bin}: bump versions to latest 17.x and 21.x series Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 12/21] package/openjdk{-bin}: add OpenJDK25 and configure it as latest Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 13/21] package/snappy: enable rtti Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 14/21] package/rocksdb: bump version to 11.0.4 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 15/21] toolchain/Config.in: add BR2_TOOLCHAIN_GCC_AT_LEAST_16 blind option Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 16/21] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_17 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 17/21] toolchain/toolchain-external/toolchain-external-custom: add gcc 16 version selection Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 18/21] package/gcc: add version 16.1.0 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 19/21] package/gcc: switch to GCC 15.x as the default Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 20/21] support/config-fragments/autobuild/br-arm-internal-glibc: update to bleeding edge components Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 21/21] package/gcc: drop support for GCC 13.x Bernd Kuhls
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260501152758.2610763-8-bernd@kuhls.net \
--to=bernd@kuhls.net \
--cc=angelo.compagnucci@gmail.com \
--cc=buildroot@buildroot.org \
--cc=buildroot@tudorholton.com \
--cc=fontaine.fabrice@gmail.com \
--cc=giulio.benetti@benettiengineering.com \
--cc=mr.zoltan.gyarmati@gmail.com \
--cc=olivier.schonken@gmail.com \
--cc=romain.naour@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox