Dagster Local File Inclusion Vulnerability in gRPC Server's ExternalNotebookData Endpoint

Vulnerability

A local file inclusion vulnerability has been identified in Dagster version 1.10.14, specifically within the gRPC server's ExternalNotebookData endpoint. This vulnerability allows attackers with access to the gRPC server to read arbitrary files by exploiting insufficient path validation. The issue arises because the get_notebook_data function only checks if the file path ends with .ipynb, failing to properly sanitize user input. By appending .ipynb to crafted paths that include traversal sequences, attackers can bypass the extension check and access sensitive files.

Impact

Exploitation of this vulnerability could lead to unauthorized access to sensitive files within the Dagster process's file permissions, including configuration files with credentials, API keys, database connection strings, and other private information in readable files.

Reproduction

To reproduce this vulnerability, first create a file named 'secret.ipynb' in the '/tmp' directory, containing the text 'SECRET_DATA_12345'. Then, start the Dagster gRPC server, ensuring it is bound to an external interface. After the server is running, use a Python script to send a request to the ExternalNotebookData endpoint, including a path traversal sequence that points to the 'secret.ipynb' file. The response will contain the file's contents, demonstrating the successful exploitation of the vulnerability.

Remediation

Users can update to Dagster version 1.11.2, where this vulnerability has been fixed.

Added: Jul 22, 2025, 5:23 PM
Updated: Jul 22, 2025, 7:30 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
2.5
exploitability
6.6
remediation
0.0
relevance
0.3
threat
6.4
urgency
2.9
incentive
1.7

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