CVE-2020-1171 json
Visual Studio Code Python Extension Remote Code Execution Vulnerability
published 2020-05-21 6 y ago modified 2026-08-19 2 mo ago also EUVD-2020-12053
- cvss
- 8.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 5.2%
- EPSS 5.2% chance of exploitation in 30 days, percentile 92%
- public exploits
- 0
- none known
Summary
A remote code execution vulnerability exists in Visual Studio Code when the Python extension loads configuration files after opening a project. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user. If the current user is logged on with administrative user rights, an attacker could take control of the affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. To exploit this vulnerability, an attacker would need to convince a target to clone a repository and open it in Visual Studio Code with the Python extension installed. Attacker-specified code would execute when the target opened the integrated terminal. The update address the vulnerability by modifying the way Visual Studio Code Python extension handles environment variables.
Patch / fix
- microsoft python 2020.5.0
Exploit prediction
5.21% chance of exploitation in the next 30 days, higher than 92% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 8.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 9.3 | AV:N/AC:M/Au:N/C:C/I:C/A:C |
Affected products
- Microsoft Python extension for Visual Studio Code
References
-
msrc.microsoft.com
/update-guide/vulnerability/CVE-2020-1171
vendor-advisory, patch
-
portal.msrc.microsoft.com
/en-US/security-guidance/advisory/CVE-2020-1171
patch, vendor-advisory
Sources
- CVE List CVE-2020-1171
- NVD CVE-2020-1171
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.