CVE-2026-25556
MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Active
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
5.9
MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
CVE-2026-25556- CVSS 4.0
- 5.9 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-415
- Updated
- 2026-11-02
EUVDEUVD-2026-5668
5.9
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
EUVD-2026-5668- CVSS 4.0
- 5.9 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-39p9-g2pq-q8r7
5.9
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in...
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
GHSA-39p9-g2pq-q8r7- CVSS 4.0
- 5.9 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-415
- Updated
- 2026-11-02
NVD
5.9
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
CVE-2026-25556- CVSS 4.0
- 5.9 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-415
- Updated
- 2026-11-02
OSV
5.9
MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
CVE-2026-25556- CVSS 4.0
- 5.9 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-415
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-25556
7.5
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
DEBIAN-CVE-2026-25556- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-25556
5.9
MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in its error handling path before rethrowing the exception. Callers (including the barcode decoding path in fz_decode_barcode_from_display_list) also drop the same pixmap in cleanup, resulting in a double-free that can corrupt the heap and crash the process. This issue affects applications that enable and use MuPDF barcode decoding and can be triggered by processing crafted input that causes a rendering-time error while decoding barcodes.
- Record
UBUNTU-CVE-2026-25556- CVSS 4.0
- 5.9 Medium
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2026:10214-1 No score
mupdf-1.27.1-1.1 on GA media
These are all security issues fixed in the mupdf-1.27.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:10214-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21180-1 No score
Security update for mupdf
This update for mupdf fixes the following issues:
Changes in mupdf:
-
Build and ship MuPDF as a shared library (make shared=yes) instead of static-only:
- New subpackage libmupdf27_2 carries libmupdf.so.27.2 (the SONAME tracks the upstream minor.patch version).
- Replaced the static-only mupdf-devel-static with mupdf-devel, which ships the .so symlink and a generated mupdf.pc (upstream provides no pkg-config file).
- mupdf-devel obsoletes the dropped mupdf-devel-static so it is cleanly replaced on upgrade (resolves the /usr/include/mupdf header file conflict flagged in staging).
-
Consumers that statically embedded libmupdf.a (e.g. zathura's pdf-mupdf plugin) failed to load with "undefined symbol: jpeg_resync_to_restart" because openSUSE builds MuPDF against system codec libraries and the static archive does not pull them in; linking against the shared library (which carries those codecs in its own NEEDED) fixes this (boo#1165273).
-
update to 1.27.2:
- Add ImageMask operation in image rewriter.
- SText vector merging, and 'fuzzy-vectors' option.
- SText corruption fixes.
- SText Depth First Search iterator fixes.
-
Update to 1.27.1:
- Several optimizations, tweaks, and fixes to the structured text device text extraction.
- Improve table-hunting code in structured text device.
- Import image-rafting code from layout project to the structured text device.
- Fix bug causing FitR link destination rectangles to remain untransformed.
- Fix bug causing xps rendering to enter eternal loop.
-
CVE-2025-55780: null pointer dereference occurs in the function break_word_for_overflow_wrap() (bsc#1250443)
-
CVE-2026-25556: double-free in fz_fill_pixmap_from_display_list() (bsc#1257944)
-
Update to version 1.26.3:
- Cope with /AS being an indirection in annotations.
- PDF redaction should honour RO entries.
- Recompress lossy (JPEG, J2K, JXR, etc) as JPEG when writing to SVG.
- Improve speed of roll in postscript functions.
- Be more accepting of EmbeddedFiles FileSpecs.
- Extend rectangles to improve strikeout detection.
- Fix strikeout detection failure caused by FP inaccuracy.
- Make mutool trace and mutool draw -Ftrace output identical.
- Re-order mutool sub-commands, highlight the most useful commands at the top.
- Use fz_strstrcase for case insensitive file dialog filters in mupdf-gl.
-
Use system brotli, tesseract for builds
-
More specific directory globs for files section.
-
Update to 1.25.6:
- Avoid crash when noto fonts have zero size.
- Fix bug in q/Q count balancing.
- Improve clip/layer nesting to handle more than 1000 nested levels.
- Fix bug where all redaction annotations were applied intead of just one.
-
Update to 1.25.5:
- Allow pdf_lookup_page_number_slow on deleted pages.
- Fix issue in Fax decoder.
- Tweak antidropout code in the non-AA rasterizer.
- Fix bug ignoring last entry in UAX 14 line-breaking table.
- Let Windows handle unhandled ALT-key combinations.
- Cope with "undersized" cross-reference streams.
- Use ULL rather than Ui64 in windows specific time funcs
- Fix redaction problem with form transforms.
- Fix Makefiles to test/alter CFLAGS, not XCFLAGS.
- Avoid double drop of fz_html_tree upon exception in xml_to_boxes().
- Free unopened pages instead of waiting for document to reap them.
- Do not create bad write options if encrypt option was set to unknown value.
- PDF saving: Perform a pre-pass to load objects before saving.
- Change capitalization in mutool usage to be consistent.
- Ensure that cfb archive entry names are null-terminated.
- Allocate xml root node in pool.
- Fix typo in LZW compressed inline image dictionary.
- Report error in audit tool, otherwise it counts as unhandled.
- Handle PDF objects numbered outside xref range.
- Check whether opts is NULL when cleaning a PDF file.
- Check whether the argument list is NULL, when argument…
- Record
openSUSE-SU-2026:21180-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
mupdfDebian:13 |
All versions, plus listed versions 1.25.1+ds1-61.25.1+ds1-6+deb13u11.25.1+ds1-71.25.1+ds1-81.25.1+ds1-9 Show 9 moreShow less1.27.0+ds1-11.27.0+ds1-21.27.0+ds1-31.27.0+ds1-41.27.0+ds1-51.27.0+ds1-61.28.0+ds1-11.28.2+ds1-11.28.2+ds1-2 |
None known |
mupdfDebian:14 |
before 1.27.0+ds1-3, plus listed versions 1.25.1+ds1-61.25.1+ds1-71.25.1+ds1-81.25.1+ds1-91.27.0+ds1-11.27.0+ds1-2 |
1.27.0+ds1-3 |
mupdfUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1.7-11.7a-11.7a-1ubuntu0.1~esm1 |
None known |
mupdfUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1.11+ds1-1.11.11+ds1-21.12.0+ds1-11.12.0+ds1-1ubuntu0.1~esm11.12.0+ds1-1ubuntu0.1~esm2 |
None known |
mupdfUbuntu:Pro:20.04:LTS |
All versions, plus listed versions 1.15.0+ds1-11.16.1+ds1-1ubuntu11.16.1+ds1-1ubuntu1+esm11.16.1+ds1-1ubuntu1+esm2 |
None known |
mupdfUbuntu:Pro:22.04:LTS |
All versions, plus listed versions 1.17.0+ds1-21.19.0+ds1-11.19.0+ds1-1build11.19.0+ds1-21.19.0+ds1-2ubuntu0.1~esm1 |
None known |
mupdfUbuntu:Pro:24.04:LTS |
All versions, plus listed versions 1.22.2+ds1-21.22.2+ds1-2build11.23.6+ds1-11.23.7+ds1-11.23.10+ds1-1 Show 4 moreShow less1.23.10+ds1-1build11.23.10+ds1-1build21.23.10+ds1-1build31.23.10+ds1-1ubuntu0.1~esm1 |
None known |
mupdfUbuntu:25.10 |
All versions, plus listed versions 1.25.1+ds1-5build21.25.1+ds1-61.25.1+ds1-7 |
None known |
mupdfUbuntu:26.10 |
All versions, plus listed versions 1.27.0+ds1-3ubuntu21.27.0+ds1-3ubuntu3 |
None known |
mupdfUbuntu:26.04:LTS |
All versions, plus listed versions 1.25.1+ds1-71.25.1+ds1-7build11.25.1+ds1-7build21.27.0+ds1-2ubuntu11.27.0+ds1-3ubuntu11.27.0+ds1-3ubuntu2 |
None known |
mupdfopenSUSE:Tumbleweed From an advisory covering 2 CVEs |
before 1.27.1-1.1 | 1.27.1-1.1 |
mupdfopenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 1.27.2-bp160.1.1 | 1.27.2-bp160.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-25556 is a medium vulnerability (CVSS 5.9) in Artifex Mupdf, published February 6, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in mupdf 1.27.0+ds1-3.
References
bugs.ghostscript.com/show_bug.cgi?id=709029
cgit.ghostscript.com/cgi-bin/cgit.cgi/mupdf.git/commit?id=d4743b6092d513321c23c6f7fe5cff87cde043c1
mupdf.com
vulncheck.com/advisories/mupdf-barcode-decoding-double-free
nvd.nist.gov/vuln/detail/CVE-2026-25556
github.com/advisories/GHSA-39p9-g2pq-q8r7
Show 10 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25556.json
github.com/ArtifexSoftware/mupdf
security-tracker.debian.org/tracker/CVE-2026-25556
ubuntu.com/security/CVE-2026-25556
cve.org/CVERecord?id=CVE-2026-25556
suse.com/security/cve/CVE-2025-55780
suse.com/security/cve/CVE-2026-25556
bugzilla.suse.com/1165273
bugzilla.suse.com/1250443
bugzilla.suse.com/1257944
Left out here: the rest of 1 source description. The JSON record has them.