{"id":"CVE-2025-51481","details":"Local File Inclusion in dagster._grpc.impl.get_notebook_data in Dagster 1.10.14 allows attackers with access to the gRPC server to read arbitrary files by supplying path traversal sequences in the notebook_path field of ExternalNotebookData requests, bypassing the intended extension-based check.","aliases":["GHSA-h7x8-jv97-fvvm","PYSEC-2025-102","PYSEC-2026-1286"],"modified":"2026-08-12T03:51:28.758545139Z","published":"2025-07-22T00:00:00Z","database_specific":{"cna_assigner":"mitre","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/51xxx/CVE-2025-51481.json"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/51xxx/CVE-2025-51481.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-51481"},{"type":"FIX","url":"https://github.com/dagster-io/dagster/pull/30002"},{"type":"PACKAGE","url":"https://github.com/dagster-io/dagster"},{"type":"ARTICLE","url":"https://www.gecko.security/blog/cve-2025-51481"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/dagster-io/dagster","events":[{"introduced":"ae838ff5b028cf91a5c0930bf69234203a961a4f"},{"last_affected":"ae838ff5b028cf91a5c0930bf69234203a961a4f"}],"database_specific":{"extracted_events":[{"introduced":"1.10.14"},{"last_affected":"1.10.14"}],"source":"CPE_STRING","cpe":"cpe:2.3:a:dagsterlabs:dagster:1.10.14:*:*:*:*:*:*:*"}}],"versions":["1.10.14"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-51481.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:L"}]}