---
id: CVE-2024-9701
aliases:
  - GHSA-747f-ww56-4q4h
  - PYSEC-2026-367
title: Kedro deserialization vulnerability
summary: Kedro deserialization vulnerability
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
vendor: kedro
product: kedro
ecosystem: pip
affected:
  - kedro < 0.19.9
patched:
  - kedro 0.19.9
published: '2025-03-20'
updated: '2026-07-06'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-747f-ww56-4q4h'
references:
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2024-9701'
  - url: >-
      https://github.com/kedro-org/kedro/commit/66e5e074b2789469550370f370c8b486f638d975
  - url: 'https://github.com/kedro-org/kedro'
  - url: >-
      https://github.com/pypa/advisory-database/tree/main/vulns/kedro/PYSEC-2026-367.yaml
  - url: 'https://huntr.com/bounties/96c77fef-93b2-4d4d-8cbe-57a718d8eea5'
tags:
  - osv
  - pip
epss: 0.0114
epssPercentile: 0.6521
ingestedAt: '2026-07-08T18:25:46.756Z'
---

## Overview

A Remote Code Execution (RCE) vulnerability has been identified in the Kedro ShelveStore class (version 0.19.8). This vulnerability allows an attacker to execute arbitrary Python code via deserialization of malicious payloads, potentially leading to a full system compromise. The ShelveStore class uses Python's shelve module to manage session data, which relies on pickle for serialization. Crafting a malicious payload and storing it in the shelve file can lead to RCE when the payload is deserialized.

## Affected packages

- `kedro < 0.19.9`

## Remediation

Upgrade to a patched release:

- `kedro 0.19.9`
