External risk intelligence

pypdftk OS Command Injection Vulnerability

CVE advisorySeverity: CRITICAL (CVSS 9.3)

CVE-2026-110636

pypdftk is a library, not a standalone service. Its public exposure depends on whether a developer integrates it into an internet-facing application and passes untrusted input to vulnerable functions. This is a common but not guaranteed deployment pattern.

OS Command Injection

Halo Surface Signal: 3 out of 5 — possibly public-facing.

External exposure likelihood

Horizon Alert

Summary of the vulnerability and why it matters

A vulnerability has been identified in the pypdftk library that could allow attackers to execute operating system commands. This occurs when the library processes file paths, potentially leading to unauthorized command execution on systems using the affected software.

  • Unchecked paths allow attackers to run commands.
  • This library is used by developers to process PDFs.
  • Confirm relevance to understand potential exposure.

Attack Path

How an attacker could exploit the issue

An attacker can reach this vulnerability by controlling paths provided to functions like `fill_form` or `dump_data_fields` within the pypdftk library. These paths are used to construct shell commands, and when executed with specific options, malicious input can lead to arbitrary operating system command execution on the server running the Python process.

  • No authentication or specific privileges required.
  • Malicious paths provided to vulnerable functions.
  • Arbitrary OS command execution.

Live Threat

Current exploitation, exposure, and threat context

When supported by the advisory, this vulnerability could allow an attacker to execute arbitrary operating system commands by controlling file paths provided to the application. This could affect the integrity and availability of the Python process running the software.

  • System commands and process integrity.
  • Attacker controls file paths in function calls.
  • Arbitrary OS command execution.

Operational Fix

Recommended remediation, mitigation, and detection steps

The pypdftk library's OS command injection vulnerability requires teams to identify all instances of this library within their environment. Application owners and platform teams are likely responsible for the code that directly uses pypdftk, while infrastructure and security teams should focus on network exposure and overall system hardening. The immediate first step is to locate all deployments, assess their criticality and reachability, and then determine the accountable owner to plan a risk-based remediation strategy.

  • Identify all pypdftk instances.
  • Verify code context and business criticality.
  • Plan remediation based on risk.

Supplementary metadata

Validate whether this threat affects your internet-facing exposure.

Halo Threat Intelligence helps prioritize remediation with Halo Surface Signal and H/A/L/O context. Start exposure validation with a free external attack surface trial.

Frequently asked questions

What is pypdftk?

pypdftk is a Python library that developers use to interact with the PDFtk command-line tool. It provides a convenient interface to automate PDF tasks, such as filling out form fields or extracting data from PDF documents programmatically within Python applications.

What is the vulnerability in CVE-2026-110636?

The vulnerability is an OS command injection, classified as CWE-78. In simple terms, the library fails to properly sanitize file paths before using them to run system commands. If a malicious user supplies a specially crafted string as a file path, they can trick the software into running unintended, unauthorized commands on the underlying server.

How can an attacker trigger this issue?

An attacker triggers this flaw by supplying a malicious file path to functions like fill_form or dump_data_fields. The bug only activates when the application takes untrusted user input and passes it directly into these functions. It does not trigger if the application only uses hardcoded, trusted file paths that cannot be manipulated by an external party.

How do I know if I am at risk according to Halo Surface Signal?

Risk depends on how your application uses the library. Because pypdftk is a code-level library and not a standalone service, Halo Surface Signal notes that your exposure depends on whether your internet-facing applications pass user-controlled input into the vulnerable functions. If the library is used only in internal, non-exposed code, the risk profile is significantly lower.

What is the first step to address this CVE?

Your first step is to perform an inventory of your codebase to locate all instances where pypdftk is implemented. Once identified, audit those specific code paths to see if any input from external users or untrusted sources reaches the functions fill_form, dump_data_fields, or pdftk_cmd_util. Assessing where this library is used is essential to determining your actual risk and prioritizing necessary updates.

References