Visual Studio Code Go Extension, Untrusted Code Execution, CVE-2023-38151 (Moderate)

Listen to this Post

The CVE-2023-38151 vulnerability in the Visual Studio Code Go extension arises from improper handling of untrusted projects when Restricted Mode is enabled. The extension, designed to assist with Go development, may inadvertently execute malicious code embedded within project files or dependencies. When a user opens a Go project in VS Code with Restricted Mode active, the extension fails to adequately sanitize or restrict code execution contexts. This allows attackers to craft specialized Go projects containing scripts or commands that trigger upon project loading. The exploitation occurs through the extension’s feature to automatically run build tools or linters, which can be hijacked to execute arbitrary system commands. Essentially, the vulnerability bypasses Restricted Mode’s intent by allowing the extension to process untrusted code without proper sandboxing. Attackers can leverage this by distributing malicious repositories, and when cloned and opened by victims, the code executes with the user’s privileges. This leads to unauthorized access, data theft, or further malware deployment. The issue is mitigated by disabling the extension in Restricted Mode, as noted in the advisory.
Platform: Visual Studio Code Go extension
Version: All before update
Vulnerability: Untrusted code execution
Severity: Moderate
Date: Dec 30, 2025

Prediction: Patch date Dec 31, 2025

What Undercode Say:

Bash commands and codes:

Check installed extension version

code –list-extensions –show-versions | grep go

Disable the Go extension temporarily

code –disable-extension golang.go

Enable Restricted Mode in VS Code

Via settings.json: “security.restrictedMode”: true

Sample malicious go.mod trigger

module malicious

go 1.21

// Malicious script injection

// post-install hooks or custom tools

How Exploit:

Attackers create malicious Go projects with crafted go.mod or build scripts. When users open these in VS Code with the Go extension, automated tools execute embedded commands, leading to arbitrary code execution. Exploitation requires user interaction but no additional privileges.

Protection from this CVE:

Update Go extension, disable in Restricted Mode, avoid untrusted projects, use sandboxed environments.

Impact:

Arbitrary code execution, system compromise, data breach.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top