Rapid7

module

VSCode ipynb Remote Development RCE

Disclosed
Nov 22, 2022
Created
Jun 11, 2024

Description

VSCode when opening an Jupyter notebook (.ipynb) file bypasses the trust model.
On versions v1.4.0 - v1.71.1, its possible for the Jupyter notebook to embed
HTML and javascript, which can then open new terminal windows within VSCode.
Each of these new windows can then execute arbitrary code at startup.

During testing, the first open of the Jupyter notebook resulted in pop-ups
displaying errors of unable to find the payload exe file. The second attempt
at opening the Jupyter notebook would result in successful exeuction.

Successfully tested against VSCode 1.70.2 on Windows 10.

Authors

h00die
Zemnmez

Platform

Linux,Windows

Architectures

cmd

Module Options

To display the available options, load the module within the Metasploit console and run the commands 'show options' or 'show advanced':


msf > use exploit/multi/misc/vscode_ipynb_remote_dev_exec
msf exploit(vscode_ipynb_remote_dev_exec) > show targets
...targets...
msf exploit(vscode_ipynb_remote_dev_exec) > set TARGET < target-id >
msf exploit(vscode_ipynb_remote_dev_exec) > show options
...show and set options...
msf exploit(vscode_ipynb_remote_dev_exec) > exploit

Title
Rapid7 Labs

2026 Global Threat Landscape Report

The predictive window has collapsed. Exploitation follows disclosure in days. See how attackers are accelerating and how to stay ahead.