Intake Command Injection Vulnerability via Uncontrolled Shell Expansion in Parameter Defaults

Vulnerability

A command injection vulnerability has been identified in the Intake data management package, affecting versions prior to 2.0.9. The issue arises from the automatic expansion of shell() commands embedded in parameter default values during the catalog parsing process. When a malicious catalog YAML is loaded, any embedded commands could be executed on the host system. This vulnerability allows for unauthorized command execution with the user's local privileges.

Impact

Exploitation of this vulnerability leads to arbitrary command execution on the host system where the Intake catalog is accessed.

Reproduction

To reproduce this vulnerability, create a catalog YAML file that includes a parameter with a default value set to a shell() command, such as one that touches a file in the /tmp directory. Load this catalog using Intake, and access the source entry that triggers the parameter default expansion. The specified command will be executed on the system.

Remediation

Users can update to Intake version 2.0.9 or later, where this vulnerability is addressed by changing the default value of the getshell parameter to False. For versions through 2.0.9, the vulnerability can be mitigated by avoiding the use of catalogs from untrusted sources.

Added: Mar 24, 2026, 2:28 PM
Updated: Mar 24, 2026, 2:28 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
7.5
exploitability
5.6
remediation
0.0
relevance
4.6
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.