{"id":"CVE-2026-35171","aliases":["GHSA-9cqf-439c-j96r","PYSEC-2026-72"],"url":"https://o3.security/vulnerability/CVE-2026-35171","summary":"Arbitrary Code Execution via Malicious Logging Configuration in Kedro","details":"### Impact\n\nThis is a **critical remote code execution (RCE)** vulnerability caused by unsafe use of `logging.config.dictConfig()` with user-controlled input.\n\nKedro 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.\n\n---\n\n### Patches\n\nThe vulnerability is fixed by introducing validation that rejects the unsafe `()` factory key in logging configurations before passing them to `dictConfig()`.\n\n#### Fixed in\n- Kedro 1.3.0\n\nUsers should upgrade to this version as soon as possible.\n\n---\n\n### Workarounds\n\nIf upgrading is not immediately possible:\n\n- Do not allow untrusted input to control the `KEDRO_LOGGING_CONFIG` environment variable  \n- Restrict write access to logging configuration files  \n- Avoid using externally supplied or dynamically generated logging configs  \n- Manually validate logging YAML to ensure it does not contain the `()` key  \n\nThese mitigations reduce risk but do not fully eliminate it.\n\n---\n\n### References\n\n- Python logging configuration documentation: https://docs.python.org/3/library/logging.config.html#logging-config-dictschema  \n- CWE-94: Code Injection — https://cwe.mitre.org/data/definitions/94.html","published":"2026-04-06T17:45:45.664Z","modified":"2026-09-05T03:31:04.239072157Z","cvss":{"score":9.8,"severity":"CRITICAL","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"PyPI","name":"kedro","fixedVersion":"1.3.0"}],"fix":null,"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/35xxx/CVE-2026-35171.json"},{"type":"ADVISORY","url":"https://github.com/kedro-org/kedro/security/advisories/GHSA-9cqf-439c-j96r"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-35171"},{"type":"PACKAGE","url":"https://github.com/kedro-org/kedro"},{"type":"WEB","url":"https://github.com/pypa/advisory-database/tree/main/vulns/kedro/PYSEC-2026-72.yaml"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-09-05T03:31:04.239072157Z"}}