Control: tags 1138708 + patch
Control: tags 1138708 + pending

Dear maintainer,

I've prepared an NMU for poppler (versioned as 26.01.0-4.1) and
uploaded it to DELAYED/2. Please feel free to tell me if I
should cancel it.

Uploading only with delay 2 days is bit borderline I believe, so I'm
really ok with you saying me to cancel or delaying it further. We have
put poppler into DSA "needed" list for the security team, but before
having fixes going out to stable it seems wise to make sure the fix is
exposed in unstable first.

Regards,
Salvatore
diffstat for poppler-26.01.0 poppler-26.01.0

 changelog                                                          |    8 +
 patches/SplashOutputDev-Fix-integer-overflow-in-tilingPatter.patch |   41 ++++++++++
 patches/series                                                     |    1 
 3 files changed, 50 insertions(+)

diff -Nru poppler-26.01.0/debian/changelog poppler-26.01.0/debian/changelog
--- poppler-26.01.0/debian/changelog	2026-05-31 23:12:29.000000000 +0200
+++ poppler-26.01.0/debian/changelog	2026-06-02 19:08:52.000000000 +0200
@@ -1,3 +1,11 @@
+poppler (26.01.0-4.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * SplashOutputDev: Fix integer overflow in tilingPatternFill (CVE-2026-10118)
+    (Closes: #1138708)
+
+ -- Salvatore Bonaccorso <[email protected]>  Tue, 02 Jun 2026 19:08:52 +0200
+
 poppler (26.01.0-4) unstable; urgency=medium
 
   * Team upload
diff -Nru poppler-26.01.0/debian/patches/SplashOutputDev-Fix-integer-overflow-in-tilingPatter.patch poppler-26.01.0/debian/patches/SplashOutputDev-Fix-integer-overflow-in-tilingPatter.patch
--- poppler-26.01.0/debian/patches/SplashOutputDev-Fix-integer-overflow-in-tilingPatter.patch	1970-01-01 01:00:00.000000000 +0100
+++ poppler-26.01.0/debian/patches/SplashOutputDev-Fix-integer-overflow-in-tilingPatter.patch	2026-06-02 19:08:27.000000000 +0200
@@ -0,0 +1,41 @@
+From: Marek Kasik <[email protected]>
+Date: Thu, 21 May 2026 17:51:51 +0200
+Subject: SplashOutputDev: Fix integer overflow in tilingPatternFill
+Origin: https://gitlab.freedesktop.org/poppler/poppler/-/commit/8352264766652b98336e92359a70b3161a9ab97a
+Bug-Debian: https://bugs.debian.org/1138708
+Bug: https://gitlab.freedesktop.org/poppler/poppler/-/work_items/1715
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2026-10118
+
+Use checkedMultiply() to check integer multiplication of surface size
+and number of repetitions to avoid integer overflow and possible memory issues.
+
+Fixes: #1715
+---
+ poppler/SplashOutputDev.cc | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
+index ff3ad0eff015..f055486c36f4 100644
+--- a/poppler/SplashOutputDev.cc
++++ b/poppler/SplashOutputDev.cc
+@@ -4327,7 +4328,7 @@ bool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog * /*
+     matc[2] = ctm[2];
+     matc[3] = ctm[3];
+ 
+-    if (surface_width == 0 || surface_height == 0 || repeatX * repeatY <= 4) {
++    if (surface_width == 0 || surface_height == 0 || repeatX * repeatY <= 4 || checkedMultiply(surface_width, repeatX, &result_width) || checkedMultiply(surface_height, repeatY, &result_height)) {
+         state->setCTM(savedCTM[0], savedCTM[1], savedCTM[2], savedCTM[3], savedCTM[4], savedCTM[5]);
+         return false;
+     }
+@@ -4349,8 +4350,6 @@ bool SplashOutputDev::tilingPatternFill(GfxState *state, Gfx *gfxA, Catalog * /*
+         kx = matc[0];
+         ky = matc[3] - (matc[1] * matc[2]) / matc[0];
+     }
+-    result_width = surface_width * repeatX;
+-    result_height = surface_height * repeatY;
+     kx = result_width / (fabs(kx) + 1);
+     ky = result_height / (fabs(ky) + 1);
+     state->concatCTM(kx, 0, 0, ky, 0, 0);
+-- 
+2.53.0
+
diff -Nru poppler-26.01.0/debian/patches/series poppler-26.01.0/debian/patches/series
--- poppler-26.01.0/debian/patches/series	2026-05-31 23:12:29.000000000 +0200
+++ poppler-26.01.0/debian/patches/series	2026-06-02 19:07:37.000000000 +0200
@@ -0,0 +1 @@
+SplashOutputDev-Fix-integer-overflow-in-tilingPatter.patch

Reply via email to