CVE-2026-33310: Intake Command Injection via Shell Expansion in Parameter Defaults
Summary
CVE-2026-33310: Intake has a Command Injection via shell() Expansion in Parameter Defaults. Affects intake versions < 2.0.9. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
Intake is an open-source data management tool designed to simplify the process of accessing and managing data from various sources. It allows users to define data sources in a catalog format, making it easier to work with datasets in data science workflows. However, a critical vulnerability has been identified that allows for command injection through the improper handling of shell commands in parameter defaults, potentially leading to unauthorized command execution on the host system.
Vulnerability Detail
The vulnerability arises from the way Intake expands parameter default values during catalog parsing. When a catalog containing a parameter default with shell() syntax is accessed, the command within the shell() can be executed automatically. This behavior poses a significant risk, as it allows an attacker to craft a malicious catalog YAML file that, when loaded by a victim, executes arbitrary commands on their system without their explicit consent. The affected function, expand_defaults(), processes these defaults and inadvertently triggers subprocess execution, leading to potential OS command injection.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
As a temporary workaround, you can disable shell() expansion by avoiding the use of shell() in your parameter defaults. If you must use shell commands, ensure that the catalog is sourced from a trusted location and consider implementing an explicit opt-in flag to allow shell execution only when necessary.
Conclusion
The CVE-2026-33310 vulnerability in the Intake package poses a serious risk of command injection through improper handling of shell commands in parameter defaults. Users are strongly advised to update to the latest version to mitigate this risk and to review their catalog files for any potential misuse of shell() syntax.
See every vulnerability recorded for intake →
FAQ
CVE-2026-33310 is a vulnerability in the Intake package that allows for command injection through shell expansion in parameter defaults.
If exploited, this vulnerability can allow an attacker to execute arbitrary commands on your system, potentially leading to data loss or unauthorized access.
Versions of Intake from 0.0.0 up to and including 2.0.9 are affected by this vulnerability.
You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check if your application is affected without needing to sign up.
If you cannot update the package, avoid using shell() in your parameter defaults and ensure that any catalogs you load come from trusted sources.