CVE-2020-1192: VS Code Python ext: RCE via malicious notebook file
UNKNOWNThis is a remote code execution flaw in the VS Code Python extension, triggered when it parses workspace settings embedded in a notebook file — opening a booby-trapped file runs arbitrary code as the current user, and grants full system takeover if that user has admin rights. For AI/ML teams, VS Code plus the Python extension is the default IDE for Jupyter notebook-based development, so this sits in the data scientist and ML engineer workstation attack surface, though exploitation requires convincing a specific person to open a crafted file rather than any remote, unauthenticated path. EPSS sits at 0.041 (top 10% percentile relative to the broader CVE population despite a low absolute score), it is not in CISA KEV, and there is no public exploit code or Nuclei template, so this reads as a social-engineering-gated risk rather than an actively weaponized one. Microsoft shipped a fix in the Python extension in 2020 changing how workspace settings are enforced — confirm the extension is current, enable VS Code Workspace Trust for untrusted repos/notebooks, and reinforce policy against opening notebooks received from outside the org.
What is the risk?
Low-to-moderate operational risk. The vulnerability is old (2020), already patched, not in CISA KEV, has no public exploit or scanner template, and requires user interaction (opening a specially crafted file) rather than being remotely triggerable. EPSS is low in absolute terms (0.041) though relatively high percentile (top 10%), which mainly reflects broad targeting of developer tooling rather than AI-specific exploitation. Residual risk today is concentrated in unpatched, long-lived developer environments — common in research/ML teams that update tooling infrequently.
How does the attack unfold?
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| Visual Studio Code | — | — | No patch |
Do you use Visual Studio Code? You're affected.
How severe is it?
What should I do?
1 step1) Verify the VS Code Python extension is updated past the 2020 fixed version (workspace settings enforcement patch). 2) Enable and enforce VS Code Workspace Trust so untrusted folders/notebooks don't auto-apply settings. 3) Establish policy/training against opening notebooks or repos from unverified external sources. 4) For ML teams, treat inbound .ipynb files (via email, shared drives, or unfamiliar repos) as untrusted attachments subject to sandboxing/review before opening. 5) EDR detection: alert on VS Code/Python extension processes spawning unexpected child processes or shells shortly after a file-open event.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2020-1192?
This is a remote code execution flaw in the VS Code Python extension, triggered when it parses workspace settings embedded in a notebook file — opening a booby-trapped file runs arbitrary code as the current user, and grants full system takeover if that user has admin rights. For AI/ML teams, VS Code plus the Python extension is the default IDE for Jupyter notebook-based development, so this sits in the data scientist and ML engineer workstation attack surface, though exploitation requires convincing a specific person to open a crafted file rather than any remote, unauthenticated path. EPSS sits at 0.041 (top 10% percentile relative to the broader CVE population despite a low absolute score), it is not in CISA KEV, and there is no public exploit code or Nuclei template, so this reads as a social-engineering-gated risk rather than an actively weaponized one. Microsoft shipped a fix in the Python extension in 2020 changing how workspace settings are enforced — confirm the extension is current, enable VS Code Workspace Trust for untrusted repos/notebooks, and reinforce policy against opening notebooks received from outside the org.
Is CVE-2020-1192 actively exploited?
No confirmed active exploitation of CVE-2020-1192 has been reported, but organizations should still patch proactively.
How to fix CVE-2020-1192?
1) Verify the VS Code Python extension is updated past the 2020 fixed version (workspace settings enforcement patch). 2) Enable and enforce VS Code Workspace Trust so untrusted folders/notebooks don't auto-apply settings. 3) Establish policy/training against opening notebooks or repos from unverified external sources. 4) For ML teams, treat inbound .ipynb files (via email, shared drives, or unfamiliar repos) as untrusted attachments subject to sandboxing/review before opening. 5) EDR detection: alert on VS Code/Python extension processes spawning unexpected child processes or shells shortly after a file-open event.
What systems are affected by CVE-2020-1192?
This vulnerability affects the following AI/ML architecture patterns: training pipelines, notebook-based development environments.
What is the CVSS score for CVE-2020-1192?
No CVSS score has been assigned yet.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0011User ExecutionAML.T0011.000Unsafe AI ArtifactsAML.T0050Command and Scripting InterpreterCompliance Controls Affected
What are the technical details?
Original Advisory
A remote code execution vulnerability exists in Visual Studio Code when the Python extension loads workspace settings from a notebook file. 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 open a specially crafted file in Visual Studio Code with the Python extension installed. The update address the vulnerability by modifying the way Visual Studio Code Python extension enforces user settings.
Exploitation Scenario
An attacker crafts a malicious Jupyter notebook (.ipynb) or workspace settings file and delivers it to a target ML engineer or data scientist — e.g., disguised as a shared research notebook via email, Slack, or a public code repository. The victim opens the file in VS Code with the Python extension installed; the extension loads the embedded workspace settings and executes attacker-controlled code in the user's context. If the victim has elevated rights, the attacker gains a foothold to install tooling, exfiltrate training data or model artifacts, harvest cloud/API credentials stored on the workstation, or pivot into the organization's ML pipeline.
References
- msrc.microsoft.com/update-guide/vulnerability/CVE-2020-1192vendor-advisorypatch
Timeline
Related Vulnerabilities
CVE-2024-291210.0BentoML: RCE via insecure deserialization (CVSS 10)
Same attack type: Code ExecutionCVE-2026-2185810.0n8n: Input Validation flaw enables exploitation
Same attack type: Code ExecutionCVE-2025-512010.0smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Code ExecutionCVE-2025-5952810.0Flowise: Unauthenticated RCE via MCP config injection
Same attack type: Code ExecutionGHSA-vvpj-8cmc-gx3910.0picklescan: security flaw enables exploitation
Same attack type: Code Execution