CVE-2026-110642: xhtml2pdf before 0.2.19 OS Command Injection via startViewer File Name

Published Oct 14, 2026
·
Updated

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.

Affected Software

1 affected component
pypi/xhtml2pdf<0.2.19

Event History

Oct 14, 2026
CVE Published
via MITRE·02:17 PM
Data Sourced
via MITRE·02:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What conditions are required for exploitation?

An attacker must be able to supply or influence the input file name passed to the pisa tool. The vulnerable invocation also has to use the -s or --start-viewer option, which calls pisa.startViewer().

2

Who is exposed to this issue?

Systems running xhtml2pdf versions before 0.2.19 are exposed when they invoke pisa with -s/--start-viewer on attacker-controlled or untrusted file names. Commands execute with the privileges of the user running the tool.

3

Is the default pisa invocation affected?

The provided information identifies exploitation specifically when pisa is used with -s/--start-viewer. It does not establish that invocations without that option are affected.

4

What can be done before upgrading?

Avoid using the -s/--start-viewer option with untrusted or attacker-influenced input file names. Ensure file names containing double quotes or shell metacharacters cannot reach the pisa invocation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203