IMPORTANT:AttackDefense Labs is included with a Pentester Academy subscription! Upgrade Now to access over 1800+ Labs.

Already a Pentester Academy student? Your access will continue uninterrupted. Please use the same Google account to login here.

Not a Pentester Academy student? Try our Free Communitiy Labs

VSCode RCE (CVE-2021-43908)

cve-2021 | Level: Easy  | Total Lab Runs: 0 | Premium Lab

Lab Scoreboard

During the last quarter of 2021, an interesting RCE vulnerability affecting VSCode was made public. This vulnerability affected the application even when opening a folder in the restricted mode provided by VSCode. This vulnerability was assigned the CVE ID of CVE-2021-43908 and was patched in November 2021 (version 1.63) of the VSCode application.

This bug was discovered by the researchers going by the aliases TheGrandPew and s1r1us. The researchers have documented their research in this blog post, covering the complete attack chain to trigger this RCE vulnerability!

The gist of the vulnerability, as stated by the authors, is:

Remote Code execution can be achieved when a victim opens a markdown file in a maliciously crafted VSCode Project or a folder even in VSCode Restricted Mode.

In this lab, we will learn to exploit the RCE vulnerability in VSCode by opening a malicious project sent by the attacker to the victim user.

Lab Environment

In this lab environment, the user is going to get access to a Kali GUI instance along with two sessions to a Windows machine with student and Administrator user accounts. The Windows machine is available on the following domain name: demo.ine.local

Objective: Exploit the RCE vulnerability affecting VSCode (CVE-2021-43908).

Note: During exploitation, you might need to relax the VSCode settings to enable content loading over http served from localhost. This is unnecessary, as you will find in the solution, but it's the quick way to check the PoC for this RCE vulnerability. The other route is more involved, but it is mentioned in the solution for those interested in learning the practicalities of this attack.


  • This lab is dedicated to you! No other users are on this network :) 

  • Once you start the lab, you will have access to a root terminal of a Kali instance

  • Your Kali has an interface with IP address 192.X.Y.2. Run "ip addr" to know the values of X and Y.

  • The target Windows machine should be accessible using demo.ine.local hostname. 

  • Do not attack the gateway located at IP address 192.X.Y.1

The following activities are strictly prohibited on this website unless otherwise explicitly stated as allowed in the mission statement:

  • Using automated scanners
  • Using brute force attacks
  • Denial of Service attacks
  • Attacking other student machines in challenges where you might achieve a shell on the vulnerable system
  • Attacking the lab infrastructure

Users violating the above will be either temporarily or permanently banned from the website. 

If you are unsure about an activity, then please contact support to confirm that it is allowed on our website.

Technical Support for this Lab:

There is a reason we provide unlimited lab time: you can take as much time as you need to solve a lab. However, we realize that sometimes hints might be necessary to keep you motivated!

We currently provide technical support limited to:

  • Giving hints for a lab exercise
  • In rare circumstances, if you have totally given up (NO!!!) then tell you how to solve it. This will be limited to sharing the solution video or lab report
  • A lab exercise fails to load or has errors in it

If you need technical support, please email  clearly mention the name and link of the lab exercise and other essential details. The more descriptive you are, the faster we can help you. We will get back to you within 24 hours or less. 

For adminitrative queries, billing, enterprise accounts etc. please email