Skip to content
Heist/ feed
Back to feed
High

Path Traversal in kedro-org/kedro

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-3840
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 01:21 UTC · Revision 1

Source evidence

Path Traversal in kedro-org/kedro

core-osv · Original source

Published 12 Jun 2026, 15:45 UTC

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.

osv:CVE-2026-3840
Complete source record
{
  "id": "38fca7011a11e519b969fe74dc91d453211b28a66f0d1d0b2e2fdd8637c7fbd2",
  "url": "https://osv.dev/vulnerability/CVE-2026-3840",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Path Traversal in kedro-org/kedro",
    "summary": "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.",
    "evidence": "osv:CVE-2026-3840",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-3840",
      "aliases": [
        "CVE-2026-3840"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/kedro-org/kedro",
              "type": "GIT",
              "events": [
                {
                  "introduced": "fcb6b056bc39c8945c59b5d0dd4d90d16bd94425"
                },
                {
                  "last_affected": "fcb6b056bc39c8945c59b5d0dd4d90d16bd94425"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:linuxfoundation:kedro:1.2.0:*:*:*:*:python:*:*",
                    "range": [
                      {
                        "introduced": "1.2.0"
                      },
                      {
                        "last_affected": "1.2.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  }
                ]
              }
            }
          ],
          "versions": [
            "1.2.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-3840.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.748645843Z",
      "provider": "osv",
      "references": [
        "https://huntr.com/bounties/156dead0-1ad5-487f-b7f5-84e707277f76",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3840.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-3840"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22"
        ],
        "cna_assigner": "@huntr_ai",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3840.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-3840",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491553,
  "published_at": "2026-06-12T15:45:39.873+00:00"
}