CVE-2026-41490: PYSEC-2026-2432 - Dagster Vulnerable to SQL Injection via Dynamic Partition Keys in Database I/O Manager Integrations

CVE-2026-41490 · Severity: high · CVSS 8.3 · Published 2026-05-07

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.

Technologies: dagster (PyPI). Vendors: PyPI.

Quick answers

Is CVE-2026-41490 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-41490 being exploited in the wild.
How severe is CVE-2026-41490?
High severity, with a CVSS score of 8.3, published 7 May 2026.
Which products and versions are affected?
dagster (PyPI) ECOSYSTEM:introduced=0,fixed=1.13.1; dagster-deltalake (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1; dagster-duckdb (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1; dagster-gcp (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1; and 2 more.
Is there a fix for CVE-2026-41490?
Yes. dagster (PyPI): upgrade to 1.13.1 or later; dagster-deltalake (PyPI): upgrade to 0.29.1 or later; dagster-duckdb (PyPI): upgrade to 0.29.1 or later; dagster-gcp (PyPI): upgrade to 0.29.1 or later; dagster-snowflake (PyPI): upgrade to 0.29.1 or later; dagster-snowflake-polars (PyPI): upgrade to 0.29.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2026-41490?
Check whether you run dagster (PyPI), dagster-deltalake (PyPI), dagster-duckdb (PyPI) or one of the others listed at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • dagster (PyPI): upgrade to 1.13.1 or later
    pip install "dagster>=1.13.1"
  • dagster-deltalake (PyPI): upgrade to 0.29.1 or later
    pip install "dagster-deltalake>=0.29.1"
  • dagster-duckdb (PyPI): upgrade to 0.29.1 or later
    pip install "dagster-duckdb>=0.29.1"
  • dagster-gcp (PyPI): upgrade to 0.29.1 or later
    pip install "dagster-gcp>=0.29.1"
  • dagster-snowflake (PyPI): upgrade to 0.29.1 or later
    pip install "dagster-snowflake>=0.29.1"
  • dagster-snowflake-polars (PyPI): upgrade to 0.29.1 or later
    pip install "dagster-snowflake-polars>=0.29.1"

Affected products

  • dagster (PyPI) ECOSYSTEM:introduced=0,fixed=1.13.1
  • dagster-deltalake (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1
  • dagster-duckdb (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1
  • dagster-gcp (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1
  • dagster-snowflake (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1
  • dagster-snowflake-polars (PyPI) ECOSYSTEM:introduced=0,fixed=0.29.1

Identifiers

  • CVE-2026-41490
  • GHSA-mjw2-v2hm-wj34
  • PYSEC-2026-2432
  • PYSEC-2026-2433
  • PYSEC-2026-2434
  • PYSEC-2026-2435
  • PYSEC-2026-2436
  • PYSEC-2026-2437

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.