CVE-2026-35167

HIGH7.1EPSS 0.02%

Kedro: Path Traversal in versioned dataset loading via unsanitized version string

發布日:2026/4/3修改日:2026/5/20
也稱為:GHSA-6326-w46w-ppjwPYSEC-2026-71

描述

### Impact The `_get_versioned_path()` method in kedro/io/core.py constructs filesystem paths by directly interpolating user-supplied version strings without sanitization. Because version strings are used as path components, traversal sequences such as ../ are preserved and can escape the intended versioned dataset directory. This is reachable through multiple entry points: `catalog.load(..., version=...)`, `DataCatalog.from_config(..., load_versions=...)`, and the CLI via `kedro run --load-versions=dataset:../../../secrets`. An attacker who can influence the version string can force Kedro to load files from outside the intended version directory, enabling unauthorized file reads, data poisoning, or cross-tenant data access in shared environments. ### Patches Yes. Fixed in kedro version 1.3.0. Users should upgrade to kedro >= 1.3.0. ### Workarounds Validate version strings before passing them to DataCatalog or the CLI, ensuring they do not contain `..` segments, path separators, or absolute paths.

受影響套件(2)

CVSS 分數

來源版本嚴重程度向量
osvCVSS 3.1HIGH7.1CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N

參考連結(4)