Read the docs
TI-2026-30077 Aliases CVE-2026-41490GHSA-mjw2-v2hm-wj34

Dagster Vulnerable to SQL Injection via Dynamic Partition Keys in Database I/O Manager Integrations

Priority LOW 38CWE-89Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
SQL injection
Confidentiality · integrity · availability
High · High · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-89.

Summary

Dagster is an orchestration platform for the development, production, and observation of data assets. Prior to Dagster Core version 1.13.1 and prior to Dagster libraries version 0.29.1, the DuckDB, Snowflake, BigQuery, and DeltaLake I/O managers constructed SQL WHERE clauses by interpolating dynamic partition key values into queries without escaping. A user with the Add Dynamic Partitions permission could create a partition key that injects arbitrary SQL, which would execute against the target database backend under the I/O manager's credentials. Only deployments that use dynamic partitions are affected. Pipelines using static or time-window partitions are not impacted. This issue has been patched in Dagster Core version 1.13.1 and Dagster libraries version 0.29.1.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00265 18th percentileScored 2026-11-07
Fix Fixed dagster-duckdb (PyPI): 0.29.1dagster-snowflake (PyPI): 0.29.1+4 more products

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
dagster-iodagsterdagster < 1.13.1; dagster-duckdb < 0.29.1; dagster-snowflake < 0.29.1; dagster-gcp < 0.29.1; dagster-deltalake < 0.29.1; dagster-snowflake-polars < 0.29.1—No fix listedCNA
—dagster-duckdb (PyPI)before 0.29.10.29.1Patch availableGHSA-mjw2-v2hm-wj34
—dagster-snowflake (PyPI)before 0.29.10.29.1Patch availableGHSA-mjw2-v2hm-wj34
—dagster-gcp (PyPI)before 0.29.10.29.1Patch availableGHSA-mjw2-v2hm-wj34
—dagster (PyPI)before 1.13.11.13.1Patch availableGHSA-mjw2-v2hm-wj34
—dagster-deltalake (PyPI)before 0.29.10.29.1Patch availableGHSA-mjw2-v2hm-wj34
—dagster-snowflake-polars (PyPI)before 0.29.10.29.1Patch availableGHSA-mjw2-v2hm-wj34
  • dagster Vendordagster-io Affected dagster < 1.13.1; dagster-duckdb < 0.29.1; dagster-snowflake < 0.29.1; dagster-gcp < 0.29.1; dagster-deltalake < 0.29.1; dagster-snowflake-polars < 0.29.1 Fixed in — No fix listed CNA
  • dagster-duckdb (PyPI) Vendor— Affected before 0.29.1 Fixed in 0.29.1 Patch available GHSA-mjw2-v2hm-wj34
  • dagster-snowflake (PyPI) Vendor— Affected before 0.29.1 Fixed in 0.29.1 Patch available GHSA-mjw2-v2hm-wj34
  • dagster-gcp (PyPI) Vendor— Affected before 0.29.1 Fixed in 0.29.1 Patch available GHSA-mjw2-v2hm-wj34
  • dagster (PyPI) Vendor— Affected before 1.13.1 Fixed in 1.13.1 Patch available GHSA-mjw2-v2hm-wj34
  • dagster-deltalake (PyPI) Vendor— Affected before 0.29.1 Fixed in 0.29.1 Patch available GHSA-mjw2-v2hm-wj34
  • dagster-snowflake-polars (PyPI) Vendor— Affected before 0.29.1 Fixed in 0.29.1 Patch available GHSA-mjw2-v2hm-wj34

Remediation

  • Fix · GHSA-mjw2-v2hm-wj34 dagster-duckdb (PyPI) Fixed in 0.29.1 Advisory →
  • Fix · GHSA-mjw2-v2hm-wj34 dagster-snowflake (PyPI) Fixed in 0.29.1 Advisory →
  • Fix · GHSA-mjw2-v2hm-wj34 dagster-gcp (PyPI) Fixed in 0.29.1 Advisory →
  • Fix · GHSA-mjw2-v2hm-wj34 dagster (PyPI) Fixed in 1.13.1 Advisory →
  • Fix · GHSA-mjw2-v2hm-wj34 dagster-deltalake (PyPI) Fixed in 0.29.1 Advisory →
  • Fix · GHSA-mjw2-v2hm-wj34 dagster-snowflake-polars (PyPI) Fixed in 0.29.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-41490
  2. 2026-10-03 Alias added: GHSA-mjw2-v2hm-wj34

References

Sources