Executive brief
Kedro, a data science workflow tool, contains a vulnerability that allows for remote code execution. By manipulating an environment variable used for logging configuration, an attacker can force the application to execute unauthorized system commands during startup. This could lead to a complete takeover of the system running the data science pipeline, potentially exposing sensitive research data or disrupting operations.
Technical details
Kedro versions prior to 1.3.0 are vulnerable to remote code execution (RCE) due to the unsafe use of logging.config.dictConfig() on user-controlled input. The application loads a logging configuration file path from the KEDRO_LOGGING_CONFIG environment variable without validation. Because the Python logging configuration schema supports the '()' key for arbitrary callable instantiation, an attacker who can influence this environment variable or the file it points to can execute arbitrary system commands. The vulnerability is classified under CWE-94 (Code Injection) and CWE-502 (Deserialization of Untrusted Data). A fix is available in version 1.3.0 which introduces validation to reject the unsafe factory key.
Affected products
- kedro-org Kedro < 1.3.0
Timeline
- 2026-04-01: advisory: GitHub Security Advisory published by kedro-org
- 2026-04-06: disclosed: CVE-2026-35171 published to NVD
- 2026-04-06: patched: Vulnerability fixed in Kedro version 1.3.0