CVE-2020-15523
Python vulnerability analysis and mitigation

Overview

CVE-2020-15523 affects Python versions 3.6 through 3.6.10, 3.7 through 3.7.8, 3.8 through 3.8.4rc1, and 3.9 through 3.9.0b4 on Windows systems. The vulnerability exists in cases where CPython is embedded in a native application, where a Trojan horse python3.dll might be used due to an invalid search path for python3.dll loading after Py_SetPath has been used. Importantly, this issue cannot occur when using python.exe from a standard (non-embedded) Python installation on Windows (CVE Mitre).

Technical details

The vulnerability occurs during Py_Initialize() when the runtime attempts to pre-load python3.dll. If Py_SetPath() has been called, the expected location is not set, and locations elsewhere on the user's system will be searched. This happens because python3X.dll may use an invalid search path for python3.dll loading after Py_SetPath has been used (Python Bug Tracker).

Impact

The successful exploitation of this vulnerability could lead to disclosure of sensitive information, addition or modification of data, or Denial of Service (DoS). The vulnerability has been assigned a CVSS score of 7.8 (HIGH) with the vector CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H (NetApp Advisory).

Exploitability

The vulnerability can be exploited by placing a malicious python3.dll in specific locations that would be searched by the embedded Python application. For example, if an attacker can inject code into vulnerable processes that embed Python by creating 'C:\DLLs\python3.dll', they could potentially gain system access when the application runs with administrator privileges (Python Bug Tracker).

Mitigation and workarounds

Applications can mitigate the vulnerability by explicitly calling LoadLibrary() on their copy of python3.dll before calling Py_Initialize(). Even with the patch applied, applications should include a copy of python3.dll alongside their main Python DLL. The vulnerability has been fixed in Python versions 3.9.0b5, 3.8.4, 3.7.9 (source only), and 3.6.12 (source only) (Python Bug Tracker).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2025-66455CRITICAL9.8
  • Python logoPython
  • lmdeploy
NoYesSep 18, 2026
CVE-2026-63374CRITICAL9.3
  • Python logoPython
  • airflow-3
NoYesSep 18, 2026
CVE-2026-59163CRITICAL9.1
  • Python logoPython
  • mnemosyne-memory
NoYesSep 18, 2026
CVE-2026-33625HIGH8.8
  • Python logoPython
  • lmdeploy
NoYesSep 18, 2026
CVE-2026-64847MEDIUM6.8
  • Python logoPython
  • py3-anyio
NoYesSep 18, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management