CVE-2020-16856

7.8 HIGH

📋 TL;DR

This is a remote code execution vulnerability in Visual Studio where improper memory handling allows attackers to run arbitrary code. Attackers must convince users to open specially crafted files, and impact depends on the user's privileges - administrative users give attackers full system control. All users running affected Visual Studio versions are potentially vulnerable.

💻 Affected Systems

Products:
  • Microsoft Visual Studio
Versions: Specific versions not detailed in advisory, but all affected versions before the patch
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default Visual Studio installations when handling certain file types.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining administrative privileges, installing malware, stealing data, and creating persistent backdoors.

🟠

Likely Case

Limited code execution in user context leading to data theft, lateral movement, or credential harvesting from the compromised user account.

🟢

If Mitigated

Minimal impact if user has limited privileges, though still potential for data exfiltration from accessible files.

🌐 Internet-Facing: LOW - Requires user interaction to open malicious files, not directly exploitable over network.
🏢 Internal Only: MEDIUM - Internal users could be targeted via phishing or shared malicious project files.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires social engineering to get user to open malicious file; memory corruption exploitation requires specific conditions.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Patched versions available via Microsoft Update

Vendor Advisory: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-16856

Restart Required: Yes

Instructions:

1. Open Visual Studio. 2. Go to Help > Check for Updates. 3. Install available updates. 4. Restart Visual Studio and system if prompted. Alternatively, use Windows Update for system-wide updates.

🔧 Temporary Workarounds

Restrict file opening

windows

Only open Visual Studio project files from trusted sources and verify file integrity before opening.

Use least privilege

windows

Run Visual Studio with standard user privileges instead of administrative rights to limit potential damage.

🧯 If You Can't Patch

  • Implement application whitelisting to prevent execution of unauthorized code
  • Use network segmentation to isolate development systems from critical assets

🔍 How to Verify

Check if Vulnerable:

Check Visual Studio version against patched versions in Microsoft advisory. Unpatched versions are vulnerable.

Check Version:

In Visual Studio: Help > About Microsoft Visual Studio

Verify Fix Applied:

Verify Visual Studio version is updated to patched version and no longer matches vulnerable version range.

📡 Detection & Monitoring

Log Indicators:

  • Unusual process creation from devenv.exe
  • Memory access violations in Visual Studio logs
  • Unexpected file openings in Visual Studio

Network Indicators:

  • Outbound connections from Visual Studio to unexpected destinations
  • DNS queries for suspicious domains from development systems

SIEM Query:

Process Creation where ParentImage contains 'devenv.exe' AND (CommandLine contains suspicious patterns OR Image contains unusual executables)

🔗 References

📤 Share & Export