{"schemaVersion":3,"id":"CVE-2026-3840","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"A vulnerability in Kedro version 1.2.0 allows an attacker to exploit path traversal by providing a crafted version string. The `_get_versioned_path()` method in `kedro/io/core.py` directly interpolates user-supplied version strings into filesystem paths without sanitization. This enables an attacker to escape the intended versioned dataset directory and access files outside the expected path. The issue is also reachable through the CLI via the `--load-versions` parameter, as `_split_load_versions()` in `kedro/framework/cli/utils.py` does not validate the version string. This vulnerability can lead to unauthorized file reads, data poisoning, cross-project or cross-tenant data access, and broader downstream impacts in environments where Kedro is used with automation or orchestration layers.","dates":{"published":"2026-06-12T15:45:39.873Z","modified":"2026-06-12T17:20:41.923Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.1,"severity":"high","version":"3.0","versionLabel":"v3.0","source":"CVE.org","vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.0","versionLabel":"v3.0","source":"CVE.org","score":7.1,"severity":"high","vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.0","versionLabel":"v3.0","source":"NVD","score":7.1,"severity":"high","vector":"CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00201,"percentile":0.09433,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":0.014999999999999996,"baselineDate":"2026-09-19T00:00:00.000Z","baselineScore":0.00186},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00201,"percentile":0.09433}],"last30":[{"date":"2026-09-19T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00186,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00201,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00201,"percentile":0.09433}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"REF_232999CEB743E7D5","name":"Exploit Reference (huntr.com)","source":"reference","url":"https://huntr.com/bounties/156dead0-1ad5-487f-b7f5-84e707277f76","maturity":"unknown","reliabilityScore":0.2,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"kedro-org","product":"kedro-org/kedro","name":"kedro-org/kedro","label":"kedro-org/kedro","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ unspecified, ≤ latest","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ unspecified, ≤ latest","eol":null,"hubHref":"/vendor/kedro-org/kedro-orgkedro"},{"vendor":"linuxfoundation","product":"kedro","name":"kedro","label":"kedro","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"1.2.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"1.2.0","eol":null,"hubHref":"/vendor/linuxfoundation/kedro"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://huntr.com/bounties/156dead0-1ad5-487f-b7f5-84e707277f76","label":"huntr.com/bounties/156dead0-1ad5-487f-b7f5-84e707277f76","hostname":"huntr.com","tags":["Exploit","Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-06-12T15:45:39.873Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-06-12T17:20:41.923Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":38,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T08:08:40.196Z","stale":false,"partial":false}}