NewApp Monitoring is liveSign up free
AgentbeamBeta
Open-source package vulnerability · PyPI

CVE-2026-35171: Kedro has Arbitrary Code Execution via Malicious Logging Configuration

criticalCVSS 3.1 9.8GHSA-9cqf-439c-j96r

Impact This is a critical remote code execution (RCE) vulnerability caused by unsafe use of logging.config.dictConfig() with user-controlled input. Kedro allows the logging configuration file path to be set via the KEDROLOGGINGCONFIG environment variable and loads it without validation. The logging configuration schema supports the special () key, which enables arbitrary callable instantiation.

Published Apr 3, 2026 · Updated Jun 6, 2026

Affected packages

kedro

Ecosystem
PyPI
Affected
< 1.3.0
Fixed in
1.3.0
Check
pip show kedro

Advisory details

From the GitHub Advisory Database (CC BY 4.0).

Impact

This is a critical remote code execution (RCE) vulnerability caused by unsafe use of logging.config.dictConfig() with user-controlled input.

Kedro allows the logging configuration file path to be set via the KEDRO_LOGGING_CONFIG environment variable and loads it without validation. The logging configuration schema supports the special () key, which enables arbitrary callable instantiation. An attacker can exploit this to execute arbitrary system commands during application startup.

---

Patches

The vulnerability is fixed by introducing validation that rejects the unsafe () factory key in logging configurations before passing them to dictConfig().

Fixed in

  • Kedro 1.3.0

Users should upgrade to this version as soon as possible.

---

Workarounds

If upgrading is not immediately possible:

  • Do not allow untrusted input to control the KEDRO_LOGGING_CONFIG environment variable
  • Restrict write access to logging configuration files
  • Avoid using externally supplied or dynamically generated logging configs
  • Manually validate logging YAML to ensure it does not contain the () key

These mitigations reduce risk but do not fully eliminate it.

---

References

  • Python logging configuration documentation: https://docs.python.org/3/library/logging.config.html#logging-config-dictschema
  • CWE-94: Code Injection — https://cwe.mitre.org/data/definitions/94.html

Credited to Wernerina.

References

How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology

More PyPI vulnerabilities

All PyPI entries