Every CVE Search/ Get API key

CVE-2026-12003

CPython >3.11 Insecure Input Validation resulting in privilege escalation

5.3 MediumFix available

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
Low
User interaction
Active

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
None

Exploit likelihood

0.14%Unchanged since Jun 17, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.3

CPython >3.11 Insecure Input Validation resulting in privilege escalation

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
CVE-2026-12003
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-427
Updated
2026-11-02
EUVDEUVD-2026-37125 5.3

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
EUVD-2026-37125
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-2wqx-fp26-qh5v 5.3

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout)...

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
GHSA-2wqx-fp26-qh5v
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-427
Updated
2026-11-02
NVD 5.3

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
CVE-2026-12003
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-427
Updated
2026-11-02
OSV 5.3

CPython >3.11 Insecure Input Validation resulting in privilege escalation

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
CVE-2026-12003
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-427
Updated
2026-11-04
OSVDEBIAN-CVE-2026-12003 5.3

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree. On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install. Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive. Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources. Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory. The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
DEBIAN-CVE-2026-12003
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
Show 14 moreShow less
OSVOESA-2026-3070 6.3

python3 security update

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. New built-in modules are easily written in C or C++ (or other languages, depending on the chosen implementation). Python is also usable as an extension language for applications written in other languages that need easy-to-use scripting or automation interfaces.

Security Fix(es):

When using the "configparser" module to write configuration files containing multi-line text values with carriage return characters (\r) the resulting file could be injected with unexpected keys and values if the attacker controls the written value.(CVE-2026-0864)

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.(CVE-2026-12003)

unicodedata.normalize() can take excessive CPU time when processing specially crafted Unicode input containing long runs of combining characters with alternating Canonical Combining Class values. This affects all normalization forms.(CVE-2026-3276)

Record
OESA-2026-3070
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVOESA-2026-3071 6.3

python3 security update

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. New built-in modules are easily written in C or C++ (or other languages, depending on the chosen implementation). Python is also usable as an extension language for applications written in other languages that need easy-to-use scripting or automation interfaces.

Security Fix(es):

When using the "configparser" module to write configuration files containing multi-line text values with carriage return characters (\r) the resulting file could be injected with unexpected keys and values if the attacker controls the written value.(CVE-2026-0864)

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.(CVE-2026-12003)

unicodedata.normalize() can take excessive CPU time when processing specially crafted Unicode input containing long runs of combining characters with alternating Canonical Combining Class values. This affects all normalization forms.(CVE-2026-3276)

Record
OESA-2026-3071
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVOESA-2026-3072 8.2

python3 security update

Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems. New built-in modules are easily written in C or C++ (or other languages, depending on the chosen implementation). Python is also usable as an extension language for applications written in other languages that need easy-to-use scripting or automation interfaces.

Security Fix(es):

When using the "configparser" module to write configuration files containing multi-line text values with carriage return characters (\r) the resulting file could be injected with unexpected keys and values if the attacker controls the written value.(CVE-2026-0864)

tarfile.extractall() with the 'data' or 'tar' filter could be bypassed by a crafted archive where a hardlink references a symlink stored at a deeper name than the hardlink itself.  The extraction fallback validated the symlink at it's archived location but recreated it at the hardlink's shallower path, letting a relative target the filter judged contained escape the destination directory.  This allowed a malicious tar archive to create a symlink pointing outside the destination, enabling out-of-destination file reads or writes. This was an incomplete fix of CVE-2025-4330.(CVE-2026-11940)

When using the "tarfile" module with a file opened in "streaming mode" (mode="r|") the tarfile module did not properly handle EOF, making archive parsing take exponentially longer.(CVE-2026-11972)

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so…

Record
OESA-2026-3072
CVSS 4.0
8.2 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Updated
2026-11-02
OSVRHSA-2026:67572 7.8

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:67572
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:68135 7.8

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:68135
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:68154 7.8

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:68154
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2026:68309 7.8

Red Hat Security Advisory: Red Hat Hardened Images RPMs Security Update

Record
RHSA-2026:68309
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVUBUNTU-CVE-2026-12003 5.3

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree. On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install. Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive. Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources. Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory. The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
UBUNTU-CVE-2026-12003
CVSS 4.0
5.3 MediumCVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
OSVAZL-90182 No score

CVE-2026-12003 affecting package python3 for versions less than 3.12.9-14

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
AZL-90182
Updated
2026-11-02
OSVBIT-libpython-2026-12003 No score

CPython >3.11 Insecure Input Validation resulting in privilege escalation

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
BIT-libpython-2026-12003
Updated
2026-11-02
OSVBIT-python-2026-12003 No score

CPython >3.11 Insecure Input Validation resulting in privilege escalation

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
BIT-python-2026-12003
Updated
2026-11-02
OSVBIT-python-min-2026-12003 No score

CPython >3.11 Insecure Input Validation resulting in privilege escalation

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
BIT-python-min-2026-12003
Updated
2026-11-02
OSVCLSA-2026-1790155146 No score

python3.11: Fix of 4 CVEs

  • CVE-2026-17084: use the Unicode 3.2.0 codepoint attributes required by RFC 3454 for the stringprep B.2/B.3 mappings instead of the running interpreter's, so IDNA 2003 encodes domain names consistently
  • CVE-2026-87910: skip the member in tarfile's link-extraction fallback when either filter call returns None, instead of discarding the first call's result
  • CVE-2026-19672: normalize '..' components in tarfile member names so the tar and data extraction filters no longer create intermediate directories outside the destination
  • CVE-2026-12003: remove the VPATH-relative Modules/Setup.local build landmark fallback from getpath, making pybuilddir.txt the sole source-tree indicator
Record
CLSA-2026-1790155146
Updated
2026-11-02
OSVPSF-2026-28 No score

To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree.

On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '....', which results in a landmark of '....\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative Lib folder that will be discovered by an otherwise restricted install.

Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive.

Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new Python install manager to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a Modules directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources.

Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory.

The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.

Record
PSF-2026-28
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
python3
Azure Linux:3
before 3.12.9-14
3.12.9-14
libpython
Bitnami
before 3.11.16, 3.12.0 up to 3.12.14, 3.13.0 up to 3.13.15, 3.14.0 up to 3.14.7
3.11.163.12.143.13.153.14.7
python
Bitnami
before 3.11.16, 3.12.0 up to 3.12.14, 3.13.0 up to 3.13.15, 3.14.0 up to 3.14.7
3.11.163.12.143.13.153.14.7
python-min
Bitnami
before 3.11.16, 3.12.0 up to 3.12.14, 3.13.0 up to 3.13.15, 3.14.0 up to 3.14.7
3.11.163.12.143.13.153.14.7
python3.11
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
python3.11-debug
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
python3.11-devel
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
python3.11-idle
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
python3.11-libs
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
python3.11-test
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
Show 54 moreShow less
Affected packages
PackageAffectedFixed
python3.11-tkinter
TuxCare:AlmaLinux:9.2
From an advisory covering 4 CVEs
before 3.11.2-2.el9_2.2.tuxcare.els34
3.11.2-2.el9_2.2.tuxcare.els34
python3.11
Debian:12
All versions, plus listed versions
3.11.2-63.11.2-6+deb12u13.11.2-6+deb12u23.11.2-6+deb12u33.11.2-6+deb12u4
Show 24 moreShow less
3.11.2-6+deb12u53.11.2-6+deb12u63.11.2-6+deb12u73.11.2-6+deb12u83.11.2-6+deb12u93.11.3-13.11.3-23.11.4-13.11.5-13.11.5-23.11.5-33.11.6-13.11.6-23.11.6-33.11.6-3~hurd.23.11.7-13.11.7-23.11.8-13.11.8-1.1~exp13.11.8-1.1~exp23.11.8-23.11.8-33.11.8-3+hurd.13.11.9-1
None known
python3.13
Debian:13
All versions, plus listed versions
3.13.11-13.13.12-13.13.14-13.13.15-13.13.18-1
Show 10 moreShow less
3.13.5-23.13.5-2+deb13u13.13.5-2+deb13u23.13.5-2+deb13u33.13.5-2+deb13u43.13.5-2+deb13u53.13.6-13.13.7-13.13.8-13.13.9-1
None known
python3.14
Debian:14
before 3.14.9-1, plus listed versions
3.14.0-13.14.0-23.14.0-33.14.0-43.14.0-5
Show 25 moreShow less
3.14.0~a7-13.14.0~b1-13.14.0~b2-13.14.0~b3-13.14.0~b4-13.14.0~rc1-13.14.0~rc2-13.14.0~rc3-13.14.2-13.14.3-13.14.3-23.14.3-33.14.3-43.14.3-53.14.4-13.14.4-23.14.5-13.14.5~rc1-13.14.6-13.14.7-13.14.7-23.14.7-33.14.7-43.14.7-53.14.8-1
3.14.9-1
python3
openEuler:24.03-LTS-SP1
From an advisory covering 3 CVEs
before 3.11.6-37.oe2403sp1
3.11.6-37.oe2403sp1
python3
openEuler:24.03-LTS-SP3
From an advisory covering 3 CVEs
before 3.11.6-37.oe2403sp3
3.11.6-37.oe2403sp3
python3
openEuler:24.03-LTS-SP4
From an advisory covering 6 CVEs
before 3.11.6-39.oe2403sp4
3.11.6-39.oe2403sp4
python-unversioned-command
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3-debug
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3-devel
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3-idle
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3-libs
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3-test
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3-tkinter
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading-debug
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading-devel
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading-idle
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading-libs
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading-test
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.14-freethreading-tkinter
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.14.7-1.2.hum1
0:3.14.7-1.2.hum1
python3.11
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.11-debug
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.11-devel
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.11-idle
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.11-libs
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.11-test
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.11-tkinter
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.11.16-1.4.hum1
0:3.11.16-1.4.hum1
python3.12
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.12-debug
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.12-devel
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.12-idle
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.12-libs
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.12-test
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.12-tkinter
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.12.14-1.3.hum1
0:3.12.14-1.3.hum1
python3.13
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-debug
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-devel
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-freethreading
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-freethreading-debug
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-idle
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-libs
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-test
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
python3.13-tkinter
Red Hat:hummingbird:1
From an advisory covering 6 CVEs
before 0:3.13.15-1.3.hum1
0:3.13.15-1.3.hum1
cython
Ubuntu:16.04:LTS
All versions, plus listed versions
0.23.3-0ubuntu10.23.4-0ubuntu20.23.4-0ubuntu30.23.4-0ubuntu40.23.4-0ubuntu5
None known
cython
Ubuntu:18.04:LTS
All versions, plus listed versions
0.25.2-2build30.26.1-0.3ubuntu10.26.1-0.4
None known
cython
Ubuntu:20.04:LTS
All versions, plus listed versions
0.29.10-0ubuntu10.29.13-0ubuntu20.29.13-0.10.29.14-0.10.29.14-0.1ubuntu20.29.14-0.1ubuntu3
None known
cython
Ubuntu:22.04:LTS
All versions, plus listed versions
0.29.21-1ubuntu30.29.21-1ubuntu40.29.24-0ubuntu30.29.24-2ubuntu10.29.28-1ubuntu10.29.28-1ubuntu3
None known
cython
Ubuntu:24.04:LTS
All versions, plus listed versions
0.29.36-1ubuntu10.29.36-1ubuntu20.29.36-2ubuntu10.29.36-3ubuntu10.29.36-3.1ubuntu23.0.7-2ubuntu13.0.8-1ubuntu13.0.8-1ubuntu3
None known
cython
Ubuntu:25.10
All versions, plus listed versions
3.0.11+dfsg-2ubuntu2
None known
cython
Ubuntu:26.10
All versions, plus listed versions
3.1.6+dfsg-1ubuntu2
None known
cython
Ubuntu:26.04:LTS
All versions, plus listed versions
3.0.11+dfsg-2ubuntu23.0.11+dfsg-2ubuntu43.0.11+dfsg-2ubuntu53.1.6+dfsg-1ubuntu13.1.6+dfsg-1ubuntu2
None known

History

History
RecordedChangedSources
affected
factsOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-12003 is a medium vulnerability (CVSS 5.3) in Python Software Foundation Cpython, published June 16, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.14%, the 3rd percentile. Fixed in python3 3.12.9-14.

References

Show 75 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open