CVE-2026-41490 json
Dagster Vulnerable to SQL Injection via Dynamic Partition Keys in Database I/O Manager Integrations
published 2026-04-18 6 mo ago modified 2026-10-26 14 d ago also GHSA-mjw2-v2hm-wj34 , PYSEC-2026-2432 , PYSEC-2026-2433 , PYSEC-2026-2434 , PYSEC-2026-2435 , PYSEC-2026-2436 , PYSEC-2026-2437 , EUVD-2026-28368
- cvss
- 8.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 18%
- public exploits
- 0
- none known
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.
Patch / fix
- pypi dagster-duckdb 0.29.1
- pypi dagster-snowflake 0.29.1
- pypi dagster-gcp 0.29.1
- pypi dagster 1.13.1
- pypi dagster-deltalake 0.29.1
- pypi dagster-snowflake-polars 0.29.1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 6 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 18% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L |
| GitHub | 3.1 | 8.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L |
| OSV | 3.1 | 8.3 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | dagster-duckdb | <0.29.1 |
0.29.1 |
| pypi | dagster-snowflake | <0.29.1 |
0.29.1 |
| pypi | dagster-gcp | <0.29.1 |
0.29.1 |
| pypi | dagster | <1.13.1 |
1.13.1 |
| pypi | dagster-deltalake | <0.29.1 |
0.29.1 |
| pypi | dagster-snowflake-polars | <0.29.1 |
0.29.1 |
Affected products
- dagster-io dagster
Classification
- Weakness
-
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command
References
-
github.com
/dagster-io/dagster/security/advisories/GHSA-mjw2-v2hm-wj34
web
-
github.com
/dagster-io/dagster/releases/tag/1.13.1
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-41490
advisory
-
gist.github.com
/gibsondan/6d0c483f8499a8b1cd460cddc9fd8f72
web
-
github.com
/dagster-io/dagster
package
-
pypi.org
/project/dagster-snowflake
package
-
github.com
/advisories/GHSA-mjw2-v2hm-wj34
advisory
-
pypi.org
/project/dagster-snowflake-polars
package
-
pypi.org
/project/dagster-duckdb
package
-
pypi.org
/project/dagster-gcp
package
-
pypi.org
/project/dagster
package
-
pypi.org
/project/dagster-deltalake
package
Sources
- CVE List CVE-2026-41490
- GitHub Advisory GHSA-mjw2-v2hm-wj34
- NVD CVE-2026-41490
- OSV PYSEC-2026-2436
- OSV PYSEC-2026-2437
- OSV PYSEC-2026-2434
- OSV PYSEC-2026-2435
- OSV PYSEC-2026-2432
- OSV PYSEC-2026-2433
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.