CVE-2026-3840: Path Traversal in kedro-org/kedro
A vulnerability in Kedro version 1.2.0 allows an attacker to exploit path traversal by providing a crafted version string. The getversionedpath() 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 splitloadversions() 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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Remove
Remove
kedro-org/kedro 1.2.0from your environment.Uninstall or avoid deploying Kedro version 1.2.0 until an upstream patch is available.
- Configuration
Avoid using the --load-versions CLI parameter with untrusted input. If usage is required, validate and sanitize all version strings passed via --load-versions to reject traversal characters (e.g., path separators, ..) before they are interpreted.
Kedro CLI --load-versions = disabled / validate input - Configuration
Sanitize or validate version strings in _get_versioned_path() prior to interpolating them into filesystem paths. Reject or canonicalize inputs containing path traversal sequences or path separators to prevent escaping the intended versioned dataset directory.
kedro/io/core.py::_get_versioned_path version string sanitization = sanitize/validate - Compensating control
Run Kedro with least privilege and isolate project runtimes (containers, sandboxing). Restrict filesystem permissions so Kedro processes cannot read files outside intended dataset directories and isolate projects/tenants in orchestration systems to prevent cross-project data access.
- Operational
If Kedro 1.2.0 has been used, audit logs and storage for unauthorized file reads or signs of data poisoning and remediate any impacted datasets or pipelines.
Event History
Frequently Asked Questions
What is the severity of CVE-2026-3840?
CVE-2026-3840 has a severity rating of high, with a score of 7.1.
How do I fix CVE-2026-3840?
To fix CVE-2026-3840, update Kedro to a patched version where the path traversal vulnerability is resolved.
What is the risk associated with CVE-2026-3840?
CVE-2026-3840 has a risk score of 52, indicating that it poses a significant threat to systems utilizing the affected version of Kedro.
How does CVE-2026-3840 allow for exploitation?
CVE-2026-3840 allows exploitation through path traversal by interpolating unvalidated user-supplied version strings into filesystem paths.
Which version of Kedro is affected by CVE-2026-3840?
CVE-2026-3840 affects Kedro version 1.2.0, which contains the vulnerability.