---
id: "CVE-2026-112036"
kind: "vulnerability"
aliases: ["CVE-2026-112036"]
title: "MuPDF: double free in signature locking lets a crafted PDF crash or run code"
severity: "medium"
cvss: 5.0
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["mupdf", "package", "pdf-processing", "self-hosted"]
not_affected_if: ["no-mupdf-use", "trusted-pdfs-only"]
published_at: "2026-10-19T01:16:37+00:00"
first_seen_at: "2026-10-23T21:57:17+00:00"
updated_at: "2026-10-25T04:30:52+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-112036", "first_seen_at": "2026-10-23T21:57:17+00:00"}]
---

# MuPDF: double free in signature locking lets a crafted PDF crash or run code

MuPDF, a PDF rendering library, has a double free in free_char_list in source/pdf/pdf-xref.c, triggered by manipulating signature-locked content. An attacker who supplies a crafted PDF can corrupt memory, which may crash the process or lead to code execution; the sources say the exploit is public.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Find the MuPDF version in use with `mutool -v` or the library version in your build, and check whether it is `1.28.5` or earlier
- Search dependencies for the MuPDF library (`mupdf`, `libmupdf`) to find every service that renders PDFs

## Fix

- Upgrade MuPDF to a release after `1.28.5` that includes the upstream patch 3984925b660afb8a781ddf504021e91be1bc671e (the sources do not name the fixed release number)
- Rebuild and redeploy any service or tool that statically links MuPDF

## Timeline

- 2026-10-23T21:57:17+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-112036

## From the sources

A vulnerability was detected in Artifex MuPDF up to 1.28.5. This impacts the function free_char_list of the file source/pdf/pdf-xref.c of the component Signature Locking. Performing a manipulation results in double free. The attack may be initiated remotely. The exploit is now public and may be used. The patch is named 3984925b660afb8a781ddf504021e91be1bc671e. To fix this issue, it is recommended to deploy a patch.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
