CVE-2026-110636
9.8CriticalPublished 14 Oct 2026 · NVD status: Deferred · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
- Impact
- Full C/I/A compromise
- Weakness
- CWE-78
Impact
Attackers can run arbitrary OS commands with the privileges of the Python process by supplying malicious file paths. This requires an application endpoint that passes user-controlled filenames or paths into pypdftk functions.
Root cause
Functions build shell command strings directly from user-supplied paths and execute them using subprocess.Popen with shell=True enabled.
Affected systems
pypdftk through 0.5
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Fix & remediation
No fixed release is currently published; apply PR #57 or sanitize and validate all pdf_path and out_file inputs against strict whitelists before passing them to pypdftk.
$ pip show pypdftkAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
pypdftk through 0.5 contains an OS command injection vulnerability in fill_form(), dump_data_fields(), and pdftk_cmd_util() that builds shell commands from caller-supplied paths. Attackers controlling pdf_path or out_file can inject shell metacharacters interpreted by subprocess.Popen with shell=True to execute OS commands as the Python process.
References
- https://github.com/revolunet/pypdftk
- https://github.com/revolunet/pypdftk/blob/1d3b40c3b42fb3cc6b0192d34aba2c21a1efd369/pypdftk.py#L87-L123
- https://github.com/revolunet/pypdftk/issues/56
- https://github.com/revolunet/pypdftk/pull/57
- https://www.vulncheck.com/advisories/pypdftk-through-0.5-os-command-injection-via-pdf-and-output-paths