xhtml2pdf — security advisory
xhtml2pdf before 0.2.19 contains an OS command injection vulnerability in pisa.startViewer() that allows attackers to execute commands by interpolating unescaped file names into os.system. Attackers can supply an input file whose name contains a double quote and shell metacharacters, which runs OS commands as the invoking user when the pisa tool is used with -s/--start-viewer.
- Products
- xhtml2pdf
- Affected versions
- 0.2.15+dfsg-1, 0.2.15+dfsg-2, 0.2.16+dfsg-1, 0.2.17+dfsg-1, 0.2.5-3, 0.2.5-4, 0.2.5-5
- Fixed versions
- Not specified
- CVEs
- CVE-2026-110642
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 22:38 UTC · Revision 1
Source evidence
xhtml2pdf before 0.2.19 contains an OS command injection vulnerability in pisa.startViewer() that allows attackers to execute commands by interpolating unescaped file names into os.system. Attackers can supply an input file whose name contains a double quote and shell metacharacters, which runs OS commands as the invoking user when the pisa tool is used with -s/--start-viewer.
osv:DEBIAN-CVE-2026-110642
xhtml2pdf
Fixed versions: Not specified
xhtml2pdf
Fixed versions: Not specified
xhtml2pdf
Fixed versions: Not specified
Complete source record
{
"id": "96ca93e827ffbfaebadc1d9935d348f3afee15d093db5c7e51d17a12dc3271b7",
"url": "https://osv.dev/vulnerability/DEBIAN-CVE-2026-110642",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "DEBIAN-CVE-2026-110642",
"summary": "xhtml2pdf before 0.2.19 contains an OS command injection vulnerability in pisa.startViewer() that allows attackers to execute commands by interpolating unescaped file names into os.system. Attackers can supply an input file whose name contains a double quote and shell metacharacters, which runs OS commands as the invoking user when the pisa tool is used with -s/--start-viewer.",
"evidence": "osv:DEBIAN-CVE-2026-110642",
"products": [
{
"name": {
"value": "xhtml2pdf",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.2.15+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.15+dfsg-2",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.16+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.17+dfsg-1",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.5-3",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.5-4",
"evidence": "/affected/0/versions"
},
{
"value": "0.2.5-5",
"evidence": "/affected/0/versions"
}
]
},
{
"name": {
"value": "xhtml2pdf",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.2.17+dfsg-1",
"evidence": "/affected/1/versions"
}
]
},
{
"name": {
"value": "xhtml2pdf",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": [
{
"value": "0.2.17+dfsg-1",
"evidence": "/affected/2/versions"
}
]
}
],
"severity": "high",
"structured": {
"id": "DEBIAN-CVE-2026-110642",
"aliases": [
"DEBIAN-CVE-2026-110642"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/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"
}
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "xhtml2pdf",
"purl": "pkg:deb/debian/xhtml2pdf?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"0.2.15+dfsg-1",
"0.2.15+dfsg-2",
"0.2.16+dfsg-1",
"0.2.17+dfsg-1",
"0.2.5-3",
"0.2.5-4",
"0.2.5-5"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-110642.json"
},
"ecosystem_specific": {
"urgency": "unimportant"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "xhtml2pdf",
"purl": "pkg:deb/debian/xhtml2pdf?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"0.2.17+dfsg-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-110642.json"
},
"ecosystem_specific": {
"urgency": "unimportant"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "xhtml2pdf",
"purl": "pkg:deb/debian/xhtml2pdf?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"0.2.17+dfsg-1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-110642.json"
},
"ecosystem_specific": {
"urgency": "unimportant"
}
}
],
"modified": "2026-10-16T20:00:06.682909963Z",
"provider": "osv",
"upstream": [
"CVE-2026-110642"
],
"references": [
"https://security-tracker.debian.org/tracker/CVE-2026-110642"
]
},
"related_cves": [
{
"value": "CVE-2026-110642",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 347719,
"published_at": "2026-10-14T15:17:17.627+00:00"
}