Your message dated Wed, 20 Mar 2019 16:20:05 +0100
with message-id <44787c56-7c84-7c1f-3b09-927449fd0...@debian.org>
and subject line Re: Bug#925151: unblock: mupdf/1.14.0+ds1-4
has caused the Debian Bug report #925151,
regarding unblock: mupdf/1.14.0+ds1-4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
925151: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925151
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package mupdf

Fixes CVE-2018-16647, CVE-2018-16648
Also fixed the issue that command line usage message was broken.

unblock mupdf/1.14.0+ds1-4

-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.0.0-rc8+ (SMP w/8 CPU cores)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=zh_TW.UTF-8, LC_CTYPE=zh_TW.UTF-8 (charmap=UTF-8), 
LANGUAGE=zh_TW.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru mupdf-1.14.0+ds1/debian/changelog mupdf-1.14.0+ds1/debian/changelog
--- mupdf-1.14.0+ds1/debian/changelog   2019-01-19 12:01:19.000000000 +0900
+++ mupdf-1.14.0+ds1/debian/changelog   2019-03-16 09:42:00.000000000 +0900
@@ -1,3 +1,18 @@
+mupdf (1.14.0+ds1-4) unstable; urgency=medium
+
+  [ Salvatore Bonaccorso ]
+  * Avoid being smart about keeping only a single reference to the buffer
+    (CVE-2018-16647)   
+    (Closes: #924351)
+  * Fix text used as clip mask in pdfwrite device (CVE-2018-16648)
+    (Closes: #924351)
+  * Fix typo in pdf write device
+
+  [ Kan-Ru Chen ]
+  * Add more options to mupdf wrapper and display usage correctly
+
+ -- Kan-Ru Chen (陳侃如) <kos...@debian.org>  Sat, 16 Mar 2019 09:42:00 +0900
+
 mupdf (1.14.0+ds1-3) unstable; urgency=high
 
   * d/patches: import upstream fixes for various bugs.
diff -Nru mupdf-1.14.0+ds1/debian/mupdf.sh mupdf-1.14.0+ds1/debian/mupdf.sh
--- mupdf-1.14.0+ds1/debian/mupdf.sh    2018-11-04 08:48:05.000000000 +0900
+++ mupdf-1.14.0+ds1/debian/mupdf.sh    2019-03-16 09:38:35.000000000 +0900
@@ -22,27 +22,30 @@
 
 file=""
 cmd="/usr/lib/mupdf/mupdf-x11"
-while getopts p:r:A:C:W:H:S:U: f
+while getopts p:r:A:C:W:H:IS:U:X f
 do
     case $f in
-        p|r|A|C|W|H|S|U)
+        p|r|A|C|W|H|I|S|U|X)
            cmd="$cmd -$f $OPTARG";;
     esac
 done
 shift `expr $OPTIND - 1`
+
+test "$1" || exec $cmd
+
 test -f "$1" && file="$1" ||
         ( echo "error: \"$1\" file not found" && exit 1 )
 
 tmp=$(tempfile -s .pdf)
 case "$file" in
-    *.gz|*.Z)  zcat -- "$file" > "$tmp" && exec 3< "$tmp" && file="$tmp";;
-    *.xz)     xzcat -- "$file" > "$tmp" && exec 3< "$tmp" && file="$tmp";;
-    *.bz2)    bzcat -- "$file" > "$tmp" && exec 3< "$tmp" && file="$tmp";;
+    *.gz|*.Z)  zcat -- "$file" > "$tmp" && file="$tmp";;
+    *.xz)     xzcat -- "$file" > "$tmp" && file="$tmp";;
+    *.bz2)    bzcat -- "$file" > "$tmp" && file="$tmp";;
 esac
 trap 'rm -f "$tmp"' EXIT
 
 if [ "$file" = "" ]; then
     $cmd || true
 else
-    $cmd "$file" || true
+    $cmd "$file" $2 || true
 fi
diff -Nru 
mupdf-1.14.0+ds1/debian/patches/0011-Avoid-being-smart-about-keeping-only-a-single-refere.patch
 
mupdf-1.14.0+ds1/debian/patches/0011-Avoid-being-smart-about-keeping-only-a-single-refere.patch
--- 
mupdf-1.14.0+ds1/debian/patches/0011-Avoid-being-smart-about-keeping-only-a-single-refere.patch
     1970-01-01 09:00:00.000000000 +0900
+++ 
mupdf-1.14.0+ds1/debian/patches/0011-Avoid-being-smart-about-keeping-only-a-single-refere.patch
     2019-03-16 08:27:11.000000000 +0900
@@ -0,0 +1,79 @@
+From: Sebastian Rasmussen <seb...@gmail.com>
+Date: Mon, 1 Oct 2018 15:13:13 +0800
+Subject: Avoid being smart about keeping only a single reference to the
+ buffer.
+Origin: 
http://www.ghostscript.com/cgi-bin/findgit.cgi?351c99d8ce23bbf7099dbd52771a095f67e45a2c
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2018-16647
+Bug-Debian: https://bugs.debian.org/924351
+Bug: https://bugs.ghostscript.com/show_bug.cgi?id=699686
+
+When pdf_dev_pop() is called it will drop the reference to the buffer.
+pdf_dev_push_new_buf() will either create a new buffer reference or take a 
reference to the existing buffer.
+When pdf_dev_pop() is called unbalance this creates a problem as the
+top level buffer will be unreferenced too many times.
+
+fails-32.pdf
+---
+ source/pdf/pdf-device.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/source/pdf/pdf-device.c b/source/pdf/pdf-device.c
+index 31a7a10f2722..0103e9a7d9be 100644
+--- a/source/pdf/pdf-device.c
++++ b/source/pdf/pdf-device.c
+@@ -66,7 +66,6 @@ struct pdf_device_s
+ 
+       pdf_document *doc;
+       pdf_obj *resources;
+-      fz_buffer *buffer;
+ 
+       int in_text;
+ 
+@@ -1061,7 +1060,10 @@ pdf_dev_drop_device(fz_context *ctx, fz_device *dev)
+       int i;
+ 
+       for (i = pdev->num_gstates-1; i >= 0; i--)
++      {
++              fz_drop_buffer(ctx, pdev->gstates[i].buf);
+               fz_drop_stroke_state(ctx, pdev->gstates[i].stroke_state);
++      }
+ 
+       for (i = pdev->num_cid_fonts-1; i >= 0; i--)
+               fz_drop_font(ctx, pdev->cid_fonts[i]);
+@@ -1069,7 +1071,6 @@ pdf_dev_drop_device(fz_context *ctx, fz_device *dev)
+       for (i = pdev->num_groups - 1; i >= 0; i--)
+               pdf_drop_obj(ctx, pdev->groups[i].ref);
+ 
+-      fz_drop_buffer(ctx, pdev->buffer);
+       pdf_drop_obj(ctx, pdev->resources);
+       fz_free(ctx, pdev->cid_fonts);
+       fz_free(ctx, pdev->image_indices);
+@@ -1111,10 +1112,13 @@ fz_device *pdf_new_pdf_device(fz_context *ctx, 
pdf_document *doc, fz_matrix topc
+       dev->super.begin_tile = pdf_dev_begin_tile;
+       dev->super.end_tile = pdf_dev_end_tile;
+ 
++      fz_var(buf);
++
+       fz_try(ctx)
+       {
+-              dev->buffer = fz_keep_buffer(ctx, buf);
+-              if (!buf)
++              if (buf)
++                      buf = fz_keep_buffer(ctx, buf);
++              else
+                       buf = fz_new_buffer(ctx, 256);
+               dev->doc = doc;
+               dev->resources = pdf_keep_obj(ctx, resources);
+@@ -1136,8 +1140,7 @@ fz_device *pdf_new_pdf_device(fz_context *ctx, 
pdf_document *doc, fz_matrix topc
+       }
+       fz_catch(ctx)
+       {
+-              if (dev->gstates && dev->buffer == NULL)
+-                      fz_drop_buffer(ctx, dev->gstates[0].buf);
++              fz_drop_buffer(ctx, buf);
+               fz_free(ctx, dev);
+               fz_rethrow(ctx);
+       }
+-- 
+2.20.1
+
diff -Nru 
mupdf-1.14.0+ds1/debian/patches/0012-Fix-text-used-as-clip-mask-in-pdfwrite-device.patch
 
mupdf-1.14.0+ds1/debian/patches/0012-Fix-text-used-as-clip-mask-in-pdfwrite-device.patch
--- 
mupdf-1.14.0+ds1/debian/patches/0012-Fix-text-used-as-clip-mask-in-pdfwrite-device.patch
    1970-01-01 09:00:00.000000000 +0900
+++ 
mupdf-1.14.0+ds1/debian/patches/0012-Fix-text-used-as-clip-mask-in-pdfwrite-device.patch
    2019-03-16 08:27:11.000000000 +0900
@@ -0,0 +1,50 @@
+From: Tor Andersson <tor.anders...@artifex.com>
+Date: Mon, 22 Oct 2018 17:16:35 +0200
+Subject: Fix text used as clip mask in pdfwrite device.
+Origin: 
http://www.ghostscript.com/cgi-bin/findgit.cgi?38f883fe129a5e89306252a4676eaaf4bc968824
+Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2018-16648
+Bug-Debian: https://bugs.debian.org/924351
+Bug: https://bugs.ghostscript.com/show_bug.cgi?id=699685
+
+Push the clip state, and pass the correct text rendering mode state.
+---
+ source/pdf/pdf-device.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/source/pdf/pdf-device.c b/source/pdf/pdf-device.c
+index 4dd729b8b981..427e3b389e7e 100644
+--- a/source/pdf/pdf-device.c
++++ b/source/pdf/pdf-device.c
+@@ -734,9 +734,13 @@ pdf_dev_clip_text(fz_context *ctx, fz_device *dev, const 
fz_text *text, fz_matri
+ {
+       pdf_device *pdev = (pdf_device*)dev;
+       fz_text_span *span;
++
++      pdf_dev_end_text(ctx, pdev);
++      pdf_dev_push(ctx, pdev);
++
+       for (span = text->head; span; span = span->next)
+       {
+-              pdf_dev_begin_text(ctx, pdev, span->trm, 0);
++              pdf_dev_begin_text(ctx, pdev, span->trm, 7);
+               pdf_dev_ctm(ctx, pdev, ctm);
+               pdf_dev_font(ctx, pdev, span->font);
+               pdf_dev_text_span(ctx, pdev, span);
+@@ -748,9 +752,13 @@ pdf_dev_clip_stroke_text(fz_context *ctx, fz_device *dev, 
const fz_text *text, c
+ {
+       pdf_device *pdev = (pdf_device*)dev;
+       fz_text_span *span;
++
++      pdf_dev_end_text(ctx, pdev);
++      pdf_dev_push(ctx, pdev);
++
+       for (span = text->head; span; span = span->next)
+       {
+-              pdf_dev_begin_text(ctx, pdev, span->trm, 0);
++              pdf_dev_begin_text(ctx, pdev, span->trm, 7);
+               pdf_dev_font(ctx, pdev, span->font);
+               pdf_dev_ctm(ctx, pdev, ctm);
+               pdf_dev_text_span(ctx, pdev, span);
+-- 
+2.20.1
+
diff -Nru 
mupdf-1.14.0+ds1/debian/patches/0013-Fix-typo-in-pdf-write-device.patch 
mupdf-1.14.0+ds1/debian/patches/0013-Fix-typo-in-pdf-write-device.patch
--- mupdf-1.14.0+ds1/debian/patches/0013-Fix-typo-in-pdf-write-device.patch     
1970-01-01 09:00:00.000000000 +0900
+++ mupdf-1.14.0+ds1/debian/patches/0013-Fix-typo-in-pdf-write-device.patch     
2019-03-16 08:27:11.000000000 +0900
@@ -0,0 +1,25 @@
+From: Tor Andersson <tor.anders...@artifex.com>
+Date: Mon, 22 Oct 2018 16:21:11 +0200
+Subject: Fix typo in pdf write device.
+Origin: https://git.kernel.org/linus/fa4cdfca9ec3034dbe54e1cb08c8b97e9ebed46d
+
+---
+ source/pdf/pdf-device.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/source/pdf/pdf-device.c b/source/pdf/pdf-device.c
+index 8d07968992da..31a7a10f2722 100644
+--- a/source/pdf/pdf-device.c
++++ b/source/pdf/pdf-device.c
+@@ -1132,7 +1132,7 @@ fz_device *pdf_new_pdf_device(fz_context *ctx, 
pdf_document *doc, fz_matrix topc
+               dev->max_gstates = 1;
+ 
+               if (!fz_is_identity(topctm))
+-                      fz_append_printf(ctx, buf, "%M cm\n", topctm);
++                      fz_append_printf(ctx, buf, "%M cm\n", &topctm);
+       }
+       fz_catch(ctx)
+       {
+-- 
+2.11.0
+
diff -Nru mupdf-1.14.0+ds1/debian/patches/series 
mupdf-1.14.0+ds1/debian/patches/series
--- mupdf-1.14.0+ds1/debian/patches/series      2019-01-19 11:39:00.000000000 
+0900
+++ mupdf-1.14.0+ds1/debian/patches/series      2019-03-16 08:27:11.000000000 
+0900
@@ -8,3 +8,6 @@
 0008-PATCH-Fix-700043-Don-t-assume-a-font-is-t3-just-beca.patch
 0009-PATCH-Bug-700442-Add-a-recursion-depth-check-to-prev.patch
 0010-PATCH-Throw-when-page-number-is-out-of-range.patch
+0011-Avoid-being-smart-about-keeping-only-a-single-refere.patch
+0012-Fix-text-used-as-clip-mask-in-pdfwrite-device.patch
+0013-Fix-typo-in-pdf-write-device.patch

--- End Message ---
--- Begin Message ---
On 20/03/2019 15:38, Kan-Ru Chen (陳侃如) wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian....@packages.debian.org
> Usertags: unblock
> 
> Please unblock package mupdf
> 
> Fixes CVE-2018-16647, CVE-2018-16648
> Also fixed the issue that command line usage message was broken.
> 
> unblock mupdf/1.14.0+ds1-4

Already unblocked:

Hints in place:
==> nthykier
  #2019-03-17
  # #924351
  unblock mupdf/1.14.0+ds1-4

Emilio

--- End Message ---

Reply via email to