{"id":"CVE-2026-110642","aliases":["DEBIAN-CVE-2026-110642","EUVD-2026-101270","GHSA-p77q-xqj7-2552","UBUNTU-CVE-2026-110642","openSUSE-SU-2026:12160-1"],"status":"published","title":"xhtml2pdf before 0.2.19 OS Command Injection via startViewer File Name","description":"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.","severity":{"version":"4.0","score":8.5,"vector":"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","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.0113,"percentile":0.66682,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-78"],"published":"2026-10-14T14:17:12Z","modified":"2026-10-28T17:50:34Z","fixes":[{"ecosystem":"openSUSE:Tumbleweed","package":"python-xhtml2pdf","fixed_in":["0.2.24-1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Debian:12","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"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"]},{"source":"osv","ecosystem":"Debian:13","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.17+dfsg-1"]},{"source":"osv","ecosystem":"Debian:14","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.17+dfsg-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2b-1","0.2b-2","0.2.1-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.2-3","0.2.2-3build1","0.2.2-5","0.2.4-1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.4-1","0.2.4-1ubuntu1","0.2.5-1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.5-3","0.2.5-5"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.17+dfsg-1ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.2.17+dfsg-1ubuntu1","0.2.17+dfsg-1ubuntu2"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-xhtml2pdf","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.2.24-1.1"}]}]}],"products":[{"vendor":"xhtml2pdf","product":"xhtml2pdf"}],"references":[{"url":"https://github.com/xhtml2pdf/xhtml2pdf/pull/835","tags":["patch","issue-tracking","fix","report"]},{"url":"https://github.com/xhtml2pdf/xhtml2pdf/commit/f86380dad15b3a6810201d08755a3ee6b19d5063","tags":["patch","fix","report"]},{"url":"https://github.com/xhtml2pdf/xhtml2pdf/releases/tag/v0.2.19","tags":["release-notes","advisory","report"]},{"url":"https://github.com/xhtml2pdf/xhtml2pdf/blob/v0.2.18/xhtml2pdf/pisa.py#L393-L400","tags":["technical-description","article","report"]},{"url":"https://www.vulncheck.com/advisories/xhtml2pdf-before-0.2.19-os-command-injection-via-startviewer-file-name","tags":["third-party-advisory","advisory","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-110642","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-p77q-xqj7-2552"},{"url":"https://pypi.org","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110642.json","tags":["advisory"]},{"url":"https://github.com/xhtml2pdf/xhtml2pdf","tags":["package"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-110642","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-110642","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-110642","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-110642","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-110642","title":"xhtml2pdf before 0.2.19 OS Command Injection via startViewer File Name","description":"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.","status":"published","published":"2026-10-14T14:17:12.576Z","modified":"2026-10-14T18:18:52.884Z","cvss":[{"version":"4.0","score":8.5,"vector":"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","level":"high","assessor":"cna"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T13:34:37.420074Z"}],"euvd":[{"id":"EUVD-2026-101270","description":"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.","status":"published","published":"2026-10-14T14:17:12Z","modified":"2026-10-14T18:18:52Z","cvss":[{"version":"4.0","score":8.5,"vector":"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","level":"high"}],"updated_at":"2026-11-02T17:27:13.272666Z"}],"ghsa":[{"id":"GHSA-p77q-xqj7-2552","title":"xhtml2pdf before 0.2.19 contains an OS command injection vulnerability in pisa.startViewer() that...","description":"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.","status":"published","published":"2026-10-14T15:32:28Z","modified":"2026-10-14T15:32:38Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":8.5,"vector":"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","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:13:26.117603Z"}],"nvd":[{"id":"CVE-2026-110642","description":"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.","status":"published","published":"2026-10-14T15:17:17.627Z","modified":"2026-10-15T14:47:05.72Z","cvss":[{"version":"4.0","score":8.5,"vector":"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","level":"high","assessor":"secondary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T14:12:58.99337Z"}],"osv":[{"id":"CVE-2026-110642","title":"xhtml2pdf before 0.2.19 OS Command Injection via startViewer File Name","description":"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.","status":"published","published":"2026-10-14T14:17:12.576Z","modified":"2026-10-28T02:30:33.040157248Z","cvss":[{"version":"4.0","score":8.5,"vector":"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","level":"high"}],"cwes":["CWE-78"],"updated_at":"2026-11-02T15:44:55.61515Z"},{"id":"DEBIAN-CVE-2026-110642","description":"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.","status":"published","published":"2026-10-14T15:17:17.627Z","modified":"2026-10-16T20:00:06.682909963Z","cvss":[{"version":"4.0","score":8.5,"vector":"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","level":"high"}],"updated_at":"2026-11-02T15:45:49.824149Z"},{"id":"UBUNTU-CVE-2026-110642","description":"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.","status":"published","published":"2026-10-14T15:17:00Z","modified":"2026-10-28T17:50:34Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":8.5,"vector":"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","level":"high"}],"updated_at":"2026-11-02T16:55:59.591851Z"},{"id":"openSUSE-SU-2026:12160-1","title":"python313-xhtml2pdf-0.2.24-1.1 on GA media","description":"These are all security issues fixed in the python313-xhtml2pdf-0.2.24-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-10-16T00:00:00Z","modified":"2026-10-17T10:00:05.082896938Z","updated_at":"2026-11-02T16:58:40.245664Z"}]}}
