OS command injection in pypdftk lets attackers run commands
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-78.
Summary
pypdftk through 0.5 by revolunet contains an OS command injection flaw (CWE-78) in fill_form() that builds shell commands from caller-supplied paths. An attacker who controls pdf_path or out_file can inject shell metacharacters that run OS commands as the Python process. The attack needs no privileges or user interaction over the network. CISA's SSVC assessment lists exploitation as proof of concept.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version is listed for pypdftk, so all versions through 0.5 are affected.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Timeline
- 2026-10-14 Threatist record created from CVE-2026-110636
- 2026-10-14 Alias added: GHSA-hx4x-jq2f-pwr6
- 2026-10-20 CISA SSVC decision points changed
- 2026-10-20 Priority changed: MEDIUM → HIGH
References
Sources
- CVE-2026-110636 · CVE Program
- CVE-2026-110636 · NVD
- FIRST EPSS
- GHSA-hx4x-jq2f-pwr6 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences