CVE-2026-35167Kedro 1.3.0之前的版本中存在路径遍历漏洞。由于`kedro/io/core.py`中的`_get_versioned_path`方法在构造文件系统路径时,直接对用户提供的版本字符串进行插值且未进行清理,攻击者可通过包含`../`等遍历序列的版本字符串逃逸预期的版本数据集目录。该漏洞可通过多种入口触发,导致未经授权的文件读取、数据投毒或跨租户数据访问。
该漏洞的根本原因在于Kedro在处理数据集版本控制时的路径构建逻辑存在缺陷。具体而言,`kedro/io/core.py`文件中的`_get_versioned_path`方法直接将用户输入的`version`参数拼接到文件路径中,未对`../`等路径遍历字符进行过滤或标准化处理。攻击者可以通过以下入口利用此漏洞:调用`catalog.load()`并指定恶意的`version`参数;通过`DataCatalog.from_config()`配置加载版本;或使用CLI命令`kedro run --load-versions=dataset:../../../secrets`。通过构造包含路径遍历序列的版本字符串,攻击者能够绕过预期的目录限制,读取系统上的任意文件(如敏感密钥),甚至可能导致数据投毒,从而影响数据的完整性和机密性。