Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Introduction

Python programs are not inherently secure by default. This extends also to the reference Python runtime environment, CPython.

The following relevant security questions are covered in this section:

What is CPython?

CPython is the reference and most used implementation of the Python programming language. It consists of an interpreter written primarily in C, which compiles Python source code into bytecode before execution by a virtual machine.

As with any complex software project, CPython has had vulnerabilities reported over time. These are tracked publicly via the National Vulnerability Database (NVD) and the Python Security Response Team.

CVE Statistics

Python records within the US National Vulnerability Database (NVD):

CPython CVEs

Importance of CPython Security for Python Programs

Weaknesses in the CPython interpreter can have broad impact due to its position as the default and most widely deployed Python runtime. Vulnerabilities here can affect millions of users and deployments.

With the rise of software supply chain attacks, understanding risks in the core interpreter is essential. While most security tooling focuses on application-level issues (e.g., dependencies), interpreter-level flaws require different mitigation strategies.

Recommended practices:

How is Security for CPython Organised?

The security for CPython is governed by the “Core Team”. Specific operational security issues are handled by the Python Security Response team(PSRT).

Note that there is overlap in members.

Core Team

The Python Core Team consists of volunteers and sponsored developers responsible for the overall project, including the CPython codebase. As of July 2026, there are approximately 120+ active core developers.

Core developers have commit rights and authority over the project’s infrastructure (GitHub organisation, bug tracker, website, etc.). The process for becoming a core developer is outlined in PEP 13, though it relies on community consensus rather than purely objective metrics.

Python Security Response Team (PSRT)

Security for CPython and related tools (such as pip) is coordinated by the Python Security Response Team (PSRT). There are around 25 members of the PSRT team.

Detailed governance is covered in PEP 811.

Security Testing for CPython

CPython benefits from continuous fuzzing through the OSS-Fuzz project:

  1. cpython3: Primary fuzzing targets for the interpreter core. Fuzz targets, seed corpora, and dictionaries are located in Modules/_xxtestfuzz/.

  2. python3-libraries: Fuzzing for standard library modules, hosted in the python/library-fuzzers repository.

Additional security testing includes:

While fuzzing results are not published, the open-source nature of CPython allows anyone to run their own security audits or contribute new fuzz targets. Instructions for performing fuzzing test with used fuzzing patterns are available.

Transparency and Openness

The CPython security process is highly transparent:

However, some internal triage discussions are private until resolution to prevent exploitation.

More information: