ubuntu-cve-2026-25556
Vulnerability from osv_ubuntu
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.
{
"affected": [
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mupdf",
"binary_version": "1.7a-1ubuntu0.1~esm1"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.7a-1ubuntu0.1~esm1"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:16.04:LTS",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.7a-1ubuntu0.1~esm1?arch=source\u0026distro=esm-apps/xenial"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.7-1",
"1.7a-1",
"1.7a-1ubuntu0.1~esm1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mupdf",
"binary_version": "1.12.0+ds1-1ubuntu0.1~esm2"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.12.0+ds1-1ubuntu0.1~esm2"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:18.04:LTS",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.12.0+ds1-1ubuntu0.1~esm2?arch=source\u0026distro=esm-apps/bionic"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.11+ds1-1.1",
"1.11+ds1-2",
"1.12.0+ds1-1",
"1.12.0+ds1-1ubuntu0.1~esm1",
"1.12.0+ds1-1ubuntu0.1~esm2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mupdf",
"binary_version": "1.16.1+ds1-1ubuntu1+esm2"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.16.1+ds1-1ubuntu1+esm2"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:20.04:LTS",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.16.1+ds1-1ubuntu1+esm2?arch=source\u0026distro=esm-apps/focal"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.15.0+ds1-1",
"1.16.1+ds1-1ubuntu1",
"1.16.1+ds1-1ubuntu1+esm1",
"1.16.1+ds1-1ubuntu1+esm2"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mupdf",
"binary_version": "1.19.0+ds1-2ubuntu0.1~esm1"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.19.0+ds1-2ubuntu0.1~esm1"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:22.04:LTS",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.19.0+ds1-2ubuntu0.1~esm1?arch=source\u0026distro=esm-apps/jammy"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.17.0+ds1-2",
"1.19.0+ds1-1",
"1.19.0+ds1-1build1",
"1.19.0+ds1-2",
"1.19.0+ds1-2ubuntu0.1~esm1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "mupdf",
"binary_version": "1.23.10+ds1-1ubuntu0.1~esm1"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.23.10+ds1-1ubuntu0.1~esm1"
}
]
},
"package": {
"ecosystem": "Ubuntu:Pro:24.04:LTS",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.23.10+ds1-1ubuntu0.1~esm1?arch=source\u0026distro=esm-apps/noble"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.22.2+ds1-2",
"1.22.2+ds1-2build1",
"1.23.6+ds1-1",
"1.23.7+ds1-1",
"1.23.10+ds1-1",
"1.23.10+ds1-1build1",
"1.23.10+ds1-1build2",
"1.23.10+ds1-1build3",
"1.23.10+ds1-1ubuntu0.1~esm1"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libmupdf25.1",
"binary_version": "1.25.1+ds1-7"
},
{
"binary_name": "mupdf",
"binary_version": "1.25.1+ds1-7"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.25.1+ds1-7"
},
{
"binary_name": "python3-mupdf",
"binary_version": "1.25.1+ds1-7"
}
]
},
"package": {
"ecosystem": "Ubuntu:25.10",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.25.1+ds1-7?arch=source\u0026distro=questing"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.25.1+ds1-5build2",
"1.25.1+ds1-6",
"1.25.1+ds1-7"
]
},
{
"ecosystem_specific": {
"binaries": [
{
"binary_name": "libmupdf27.0",
"binary_version": "1.27.0+ds1-3ubuntu2"
},
{
"binary_name": "mupdf",
"binary_version": "1.27.0+ds1-3ubuntu2"
},
{
"binary_name": "mupdf-tools",
"binary_version": "1.27.0+ds1-3ubuntu2"
},
{
"binary_name": "python3-mupdf",
"binary_version": "1.27.0+ds1-3ubuntu2"
}
]
},
"package": {
"ecosystem": "Ubuntu:26.04:LTS",
"name": "mupdf",
"purl": "pkg:deb/ubuntu/mupdf@1.27.0+ds1-3ubuntu2?arch=source\u0026distro=resolute"
},
"ranges": [
{
"events": [
{
"introduced": "0"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.25.1+ds1-7",
"1.25.1+ds1-7build1",
"1.25.1+ds1-7build2",
"1.27.0+ds1-2ubuntu1",
"1.27.0+ds1-3ubuntu1",
"1.27.0+ds1-3ubuntu2"
]
}
],
"aliases": [],
"details": "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.",
"id": "UBUNTU-CVE-2026-25556",
"modified": "2026-05-20T15:26:05Z",
"published": "2026-02-06T17:16:00Z",
"references": [
{
"type": "REPORT",
"url": "https://ubuntu.com/security/CVE-2026-25556"
},
{
"type": "REPORT",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-25556"
},
{
"type": "REPORT",
"url": "https://bugs.ghostscript.com/show_bug.cgi?id=709029"
},
{
"type": "REPORT",
"url": "https://cgit.ghostscript.com/cgi-bin/cgit.cgi/mupdf.git/commit/?id=d4743b6092d513321c23c6f7fe5cff87cde043c1"
},
{
"type": "REPORT",
"url": "https://mupdf.com/"
},
{
"type": "REPORT",
"url": "https://www.vulncheck.com/advisories/mupdf-barcode-decoding-double-free"
}
],
"related": [],
"schema_version": "1.7.0",
"severity": [
{
"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",
"type": "CVSS_V4"
},
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
},
{
"score": "medium",
"type": "Ubuntu"
}
],
"upstream": [
"CVE-2026-25556"
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.