CVE-2026-35171 json
Arbitrary Code Execution via Malicious Logging Configuration in Kedro
published 2026-04-03 7 mo ago modified 2026-07-24 3 mo ago also GHSA-9cqf-439c-j96r , PYSEC-2026-72 , EUVD-2026-19418
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known
Summary
Kedro is a toolbox for production-ready data science. Prior to 1.3.0, 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. This is a critical remote code execution (RCE) vulnerability caused by unsafe use of logging.config.dictConfig() with user-controlled input. This vulnerability is fixed in 1.3.0.
Patch / fix
- pypi kedro 1.3.0
- linuxfoundation kedro 1.3.0
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 7 mo ago
Exploit prediction
0.73% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| OSV | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | kedro | <1.3.0 |
1.3.0 |
Affected products
- kedro-org kedro
Classification
References
-
github.com
/kedro-org/kedro/security/advisories/GHSA-9cqf-439c-j96r
web, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-35171
advisory
-
github.com
/kedro-org/kedro
package
-
github.com
/pypa/advisory-database/tree/main/vulns/kedro/PYSEC-2026-72.yaml
web
Sources
- CVE List CVE-2026-35171
- GitHub Advisory GHSA-9cqf-439c-j96r
- NVD CVE-2026-35171
- OSV PYSEC-2026-72
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.