Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package mupdf for openSUSE:Factory checked 
in at 2026-11-07 23:34:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mupdf (Old)
 and      /work/SRC/openSUSE:Factory/.mupdf.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mupdf"

Sat Nov  7 23:34:33 2026 rev:83 rq:1396081 version:1.28.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/mupdf/mupdf.changes      2026-10-30 
18:19:00.545117899 +0100
+++ /work/SRC/openSUSE:Factory/.mupdf.new.3759290/mupdf.changes 2026-11-07 
23:36:04.952152290 +0100
@@ -1,0 +2,11 @@
+Sat Nov  7 18:30:44 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Repack Source0 with mupdf-prune-tarball.sh: drop the unused
+  thirdparty/zxing-cpp tree and the Windows-only lcms2 fuzzers.exp
+  (prebuilt binaries no Linux build uses); no source changes.
+- Add mupdf-709768-double-free.patch (upstream Bug 709768,
+  boo#1285930, CVE-2026-112036): NULL the char list pointer
+  after freeing so a crafted signature object cannot double-free
+  it.
+
+-------------------------------------------------------------------

Old:
----
  mupdf-1.28.6-source.tar.gz

New:
----
  mupdf-1.28.6-pruned-source.tar.gz
  mupdf-709768-double-free.patch
  mupdf-prune-tarball.sh

----------(New B)----------
  New:  (prebuilt binaries no Linux build uses); no source changes.
- Add mupdf-709768-double-free.patch (upstream Bug 709768,
  boo#1285930, CVE-2026-112036): NULL the char list pointer
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mupdf.spec ++++++
--- /var/tmp/diff_new_pack.JNugZu/_old  2026-11-07 23:36:07.331250896 +0100
+++ /var/tmp/diff_new_pack.JNugZu/_new  2026-11-07 23:36:07.335251062 +0100
@@ -27,9 +27,13 @@
 Summary:        PDF and XPS Viewer and Parser and Rendering Library
 License:        AGPL-3.0-or-later
 URL:            https://mupdf.com/
-Source0:        
https://mupdf.com/downloads/archive/%{name}-%{version}-source.tar.gz
+# Repacked upstream tarball (see mupdf-prune-tarball.sh): drops the unused
+# thirdparty/zxing-cpp tree and the Windows-only lcms2 fuzzers.exp, which
+# no Linux build uses. No source changes besides that pruning.
+Source0:        %{name}-%{version}-pruned-source.tar.gz
 Source1:        %{name}.desktop
 Source2:        %{name}-gl.desktop
+Source3:        mupdf-prune-tarball.sh
 Patch0:         mupdf-no-strip.patch
 # Build against the system cmark-gfm instead of the vendored thirdparty copy.
 # Upstream 1.28.5 wires up USE_SYSTEM_CMARK_GFM itself (and fixed the
@@ -38,6 +42,9 @@
 # registry.h that the system library does not install.
 # PATCH-FIX-OPENSUSE mupdf-system-cmark-gfm.patch [email protected] -- link 
cmark-gfm-extensions, declare cmark_release_plugins
 Patch1:         mupdf-system-cmark-gfm.patch
+# NULL list pointer after free (upstream Bug 709768, boo#1285930).
+# PATCH-FIX-UPSTREAM mupdf-709768-double-free.patch -- commit 3984925b660a
+Patch2:         mupdf-709768-double-free.patch
 BuildRequires:  desktop-file-utils
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++

++++++ mupdf-709768-double-free.patch ++++++
Upstream commit 3984925b660a (Bug 709768): clear list pointer to
avoid double free when a crafted PDF signature object has two
reference dicts (one specific field, one /All). Without the NULL,
the second free_char_list() call frees the stale pointer.

PATCH-FIX-UPSTREAM mupdf-709768-double-free.patch -- Bug 709768, boo#1285930 
(CVE-2026-112036)
--- mupdf-1.28.6-source/source/pdf/pdf-xref.c.orig
+++ mupdf-1.28.6-source/source/pdf/pdf-xref.c
@@ -4180,6 +4180,7 @@
        for (i = c->len-1; i >= 0; i--)
                fz_free(ctx, c->list[i]);
        fz_free(ctx, c->list);
+       c->list = NULL;
        c->len = 0;
        c->max = 0;
 }

++++++ mupdf-prune-tarball.sh ++++++
#!/bin/sh
# Rebuild Source0 from the upstream release tarball minus the prebuilt
# binaries no Linux build uses (references/specfile-guidelines.md "Spec
# file — general rules": a file the build never uses is removed from the
# sources). Run at packager time; the output is committed as Source0.
#
#   sh mupdf-prune-tarball.sh <version> <output-dir>
#
# - downloads https://mupdf.com/downloads/archive/mupdf-<v>-source.tar.gz
#   (sha256 pinned below) and repacks it with only these deletions:
#   - thirdparty/zxing-cpp/: barcode support builds with barcode=yes, which
#     the spec never passes (FZ_ENABLE_BARCODE=0); %prep already deletes
#     the whole directory. Contains the Android gradle-wrapper.jar whose
#     Java classes no source exception can cover.
#   - thirdparty/lcms2/fuzzers/fuzzers.exp: Windows MSVC export object for
#     the lcms2 fuzzer; unreferenced by the Linux build.
# - the inner top directory (mupdf-<v>-source) and member order are unchanged,
#   so %autosetup needs no new options; ownership is root:root.
set -eu
v="${1:?usage: $0 <version> <output-dir>}"
out="${2:?usage: $0 <version> <output-dir>}"
url="https://mupdf.com/downloads/archive/mupdf-${v}-source.tar.gz";
# sha256 of the upstream tarball for each repacked version:
case "$v" in
  1.28.6) 
sha="dc85000640a45d90ca9b77b061f6ca67cce0c4d4fbecf8819647baf573eef101" ;;
  *) echo "no pinned sha256 for version $v" >&2; exit 2 ;;
esac
tmp="$(mktemp -d)"; trap 'rm -rf "$tmp"' EXIT
curl -fsSL --retry 3 -o "$tmp/upstream.tar.gz" "$url"
echo "$sha  $tmp/upstream.tar.gz" | sha256sum -c -
tar -xzf "$tmp/upstream.tar.gz" -C "$tmp"
rm -rf "$tmp/mupdf-${v}-source/thirdparty/zxing-cpp"
rm -f "$tmp/mupdf-${v}-source/thirdparty/lcms2/fuzzers/fuzzers.exp"
tar --owner=0 --group=0 --numeric-owner \
  -czf "$out/mupdf-${v}-pruned-source.tar.gz" -C "$tmp" "mupdf-${v}-source"
sha256sum "$out/mupdf-${v}-pruned-source.tar.gz"

Reply via email to