Vulnerability Database

328,409

Total vulnerabilities in the database

PowerShell is subject to remote code execution vulnerability

Microsoft Security Advisory CVE-2020-0605: .NET Framework Remote Code Execution Vulnerability

Executive Summary

A remote code execution vulnerability exists in .NET software when the software fails to check the source markup of a 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. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights.

Exploitation of the vulnerability requires that a user open a specially crafted file with an affected version of .NET Framework. In an email attack scenario, an attacker could exploit the vulnerability by sending the specially crafted file to the user and convincing the user to open the file.

The security update addresses the vulnerability by correcting how .NET Framework checks the source markup of a file.

Discussion

Please open a support question to discuss the PowerShell aspects of this advisory. Please use https://github.com/dotnet/wpf/issues/2424 for discussion of the .NET WPF aspects of this advisory.

<a name="affected-software">Affected Software</a>

The vulnerability affects PowerShell prior to the following versions:

| PowerShell Core Version | Fixed in | |-------------------------|-------------------| | 6.2 | Not Affected | | 7.0 | 7.0.0 |

Advisory FAQ

How do I know if I am affected?

If all of the following are true:

  1. Run pwsh -v, then, check the version in the table in Affected Software to see if your version of PowerShell is affected.
  2. If you are running a version of PowerShell where the executable is not pwsh or pwsh.exe, then you are affected. This only existed for preview version of 7.0.

How do I update to an unaffected version?

Follow the instructions at Installing PowerShell to install the latest version of PowerShell.

Other Information

Reporting Security Issues

If you have found a potential security issue in PowerShell, please email details to secure@microsoft.com.

Support

You can ask questions about this issue on GitHub in the PowerShell organization. This is located at https://github.com/PowerShell/. The Announcements repo (https://github.com/PowerShell/Announcements) will contain this bulletin as an issue and will include a link to a discussion issue where you can ask questions.

What if the update breaks my script or module?

You can uninstall the newer version of PowerShell and install the previous version of PowerShell. This should be treated as a temporary measure. Therefore, the script or module should be updated to work with the patched version of PowerShell.

Acknowledgments

Soroush Dalili (@irsdl)

CVE-2020-0605

Revisions

<!-- TBD: update date --> V1.0 (March 10, 2020): Advisory published.

Version 1.0 Last Updated 2020-03-10

CVSS v3:

  • Severity: Unknown
  • Score:
  • AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

No CWE or OWASP classifications available.

Frequently Asked Questions

A security vulnerability is a weakness in software, hardware, or configuration that can be exploited to compromise confidentiality, integrity, or availability. Many vulnerabilities are tracked as CVEs (Common Vulnerabilities and Exposures), which provide a standardized identifier so teams can coordinate patching, mitigation, and risk assessment across tools and vendors.

CVSS (Common Vulnerability Scoring System) estimates technical severity, but it doesn't automatically equal business risk. Prioritize using context like internet exposure, affected asset criticality, known exploitation (proof-of-concept or in-the-wild), and whether compensating controls exist. A "Medium" CVSS on an exposed, production system can be more urgent than a "Critical" on an isolated, non-production host.

A vulnerability is the underlying weakness. An exploit is the method or code used to take advantage of it. A zero-day is a vulnerability that is unknown to the vendor or has no publicly available fix when attackers begin using it. In practice, risk increases sharply when exploitation becomes reliable or widespread.

Recurring findings usually come from incomplete Asset Discovery, inconsistent patch management, inherited images, and configuration drift. In modern environments, you also need to watch the software supply chain: dependencies, containers, build pipelines, and third-party services can reintroduce the same weakness even after you patch a single host. Unknown or unmanaged assets (often called Shadow IT) are a common reason the same issues resurface.

Use a simple, repeatable triage model: focus first on externally exposed assets, high-value systems (identity, VPN, email, production), vulnerabilities with known exploits, and issues that enable remote code execution or privilege escalation. Then enforce patch SLAs and track progress using consistent metrics so remediation is steady, not reactive.

SynScan combines attack surface monitoring and continuous security auditing to keep your inventory current, flag high-impact vulnerabilities early, and help you turn raw findings into a practical remediation plan.