Skip to content
Heist/ feed
Back to feed
Medium

MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-25556
Confirmed fixed CVEs
Not specified
Updated in this feed
7 Nov 2026, 17:47 UTC · Revision 1

Source evidence

MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free

core-osv · Original source

Published 6 Feb 2026, 16:11 UTC

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.

osv:CVE-2026-25556
Complete source record
{
  "id": "1fefcd902754ce3bb431fb019049ba6ef618af8c429d0cbc0b37f8b92af7e937",
  "url": "https://osv.dev/vulnerability/CVE-2026-25556",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free",
    "summary": "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.",
    "evidence": "osv:CVE-2026-25556",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-25556",
      "aliases": [
        "CVE-2026-25556"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/artifexsoftware/mupdf",
              "type": "GIT",
              "events": [
                {
                  "introduced": "56d20b3d29f9fd4e2dabcd9b3abe66bcd1e4990c"
                },
                {
                  "last_affected": "d3b7556577b790e9761868c314ad6fd9b6dd86a9"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "1.23.0"
                      },
                      {
                        "last_affected": "1.27.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:artifex:mupdf:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "1.23.0"
                      },
                      {
                        "last_affected": "1.27.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.27.0",
            "1.27.0-rc1",
            "1.26.0-rc2",
            "1.26.0-rc1",
            "1.25.0-rc1",
            "1.24.0",
            "1.24.0-rc1",
            "1.23.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-25556.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:51.303262799Z",
      "provider": "osv",
      "references": [
        "https://mupdf.com/",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25556.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-25556",
        "https://www.vulncheck.com/advisories/mupdf-barcode-decoding-double-free",
        "https://bugs.ghostscript.com/show_bug.cgi?id=709029",
        "https://cgit.ghostscript.com/cgi-bin/cgit.cgi/mupdf.git/commit/?id=d4743b6092d513321c23c6f7fe5cff87cde043c1",
        "https://github.com/ArtifexSoftware/mupdf"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-415"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/25xxx/CVE-2026-25556.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-25556",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 520017,
  "published_at": "2026-02-06T16:11:59.926+00:00"
}