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

High 8.3 Published Updated

Attackers with dynamic partition permissions can inject SQL into Dagster database integrations, enabling arbitrary code execution and data manipulation.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-41490?

CVE-2026-41490 is a high-severity SQL injection vulnerability in dagster-io dagster, published on 7 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

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.

Weakness: CWE-89

Which versions are affected by CVE-2026-41490?

18 open source packages ship an affected version, including dagster, dagster-deltalake and dagster-duckdb.

PackageAffectedFixed in
dagster PyPIAll versions1.13.1
dagster PyPIAll versions1.13.1
dagster PyPIAll versions1.13.1
dagster-deltalake PyPIAll versions0.29.1
dagster-deltalake PyPIAll versions0.29.1
dagster-deltalake PyPIAll versions0.29.1
12 more packages
dagster-duckdb PyPIAll versions0.29.1
dagster-duckdb PyPIAll versions0.29.1
dagster-duckdb PyPIAll versions0.29.1
dagster-gcp PyPIAll versions0.29.1
dagster-gcp PyPIAll versions0.29.1
dagster-gcp PyPIAll versions0.29.1
dagster-snowflake PyPIAll versions0.29.1
dagster-snowflake PyPIAll versions0.29.1
dagster-snowflake PyPIAll versions0.29.1
dagster-snowflake-polars PyPIAll versions0.29.1
dagster-snowflake-polars PyPIAll versions0.29.1
dagster-snowflake-polars PyPIAll versions0.29.1

How do I fix CVE-2026-41490?

Upgrade dagster to 1.13.1 or later.

Use parameterised queries everywhere and never build SQL by joining strings. Upgrade affected software first; a web application firewall only buys time. More about SQL injection.

Is CVE-2026-41490 being exploited?

There is no known exploitation of CVE-2026-41490 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

Sources

Also known as GHSA-mjw2-v2hm-wj34, PYSEC-2026-2432, PYSEC-2026-2433, PYSEC-2026-2434, PYSEC-2026-2435, PYSEC-2026-2436 and 1 more.

Is CVE-2026-41490 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free