High
CVE-2020-0646
Add Reference
Description
URL
Type
CVE-2020-0646
MITRE ATT&CK
Collection
Command and Control
Credential Access
Defense Evasion
Discovery
Execution
Exfiltration
Impact
Initial Access
Lateral Movement
Persistence
Privilege Escalation
Description
A remote code execution vulnerability exists when the Microsoft .NET Framework fails to validate input properly, aka ‘.NET Framework Remote Code Execution Injection Vulnerability’.
Add Assessment
Ratings
-
Attacker ValueHigh
-
ExploitabilityMedium
Technical Analysis
The SharePoint WorkFlow component is affected by a vulnerability within .NET which can be abused to run arbitrary code when compiling XOML files. An authenticated user would need to issue an HTTP request with crafted XOML-formatted data (for which there are public examples). The vulnerability was patched for on-premises installations of SharePoint on January 2020.
A correct crafted XOML request will result in extra C# code being written to a temporary file on disk as part of the exploitation process. This is how an OS command is then executed.
Both patched and unpatched systems will return compiler error information in the XML response to the HTTP request. A patched system will have an error stating "Compilation failed. The type name: ... is not a valid language-independent type name."
. Malformed requests will include relevant information in the compiler error text, which is usually a character escaping issue. For best results escape all characters that are non-alphanumeric as unicode like \u####
.
CVSS V3 Severity and Metrics
General Information
Vendors
- Microsoft
Products
- Microsoft .NET Framework 4.6/4.6.1/4.6.2/4.7/4.7.1/4.7.2,
- Microsoft .NET Framework 4.6.2/4.7/4.7.1/4.7.2,
- Microsoft .NET Framework 4.8 on Windows 10 Version 1803 for 32-bit Systems,
- Microsoft .NET Framework 4.8 on Windows 10 Version 1803 for x64-based Systems,
- Microsoft .NET Framework 4.8 on Windows Server, version 1803 (Server Core Installation),
- Microsoft .NET Framework 4.8 on Windows 10 Version 1709 for 32-bit Systems,
- Microsoft .NET Framework 4.8 on Windows 10 Version 1709 for x64-based Systems,
- Microsoft .NET Framework 4.8 on Windows 10 Version 1607 for 32-bit Systems,
- Microsoft .NET Framework 4.8 on Windows 10 Version 1607 for x64-based Systems,
- Microsoft .NET Framework 4.8 on Windows Server 2016,
- Microsoft .NET Framework 4.8 on Windows Server 2016 (Server Core installation),
- Microsoft .NET Framework 4.8 on Windows 7 for 32-bit Systems Service Pack 1,
- Microsoft .NET Framework 4.8 on Windows 7 for x64-based Systems Service Pack 1,
- Microsoft .NET Framework 4.8 on Windows 8.1 for 32-bit systems,
- Microsoft .NET Framework 4.8 on Windows 8.1 for x64-based systems,
- Microsoft .NET Framework 4.8 on Windows RT 8.1,
- Microsoft .NET Framework 4.8 on Windows Server 2008 R2 for x64-based Systems Service Pack 1,
- Microsoft .NET Framework 4.8 on Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation),
- Microsoft .NET Framework 4.8 on Windows Server 2012,
- Microsoft .NET Framework 4.8 on Windows Server 2012 (Server Core installation),
- Microsoft .NET Framework 4.8 on Windows Server 2012 R2,
- Microsoft .NET Framework 4.8 on Windows Server 2012 R2 (Server Core installation),
- Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1809 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1809 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows Server 2019,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows Server 2019 (Server Core installation),
- Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1903 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1903 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows Server, version 1903 (Server Core installation),
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1809 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1809 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows Server 2019,
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows Server 2019 (Server Core installation),
- Microsoft .NET Framework 4.6,
- Microsoft .NET Framework 3.0,
- Microsoft .NET Framework 3.5,
- Microsoft .NET Framework 3.5.1,
- Microsoft .NET Framework 4.5.2,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1909 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.8 on Windows Server, version 1909 (Server Core installation),
- Microsoft .NET Framework 3.5 AND 4.8 on Windows 10 Version 1909 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows Server, version 1803 (Server Core Installation),
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1803 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 Version 1803 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.7.1/4.7.2 on Windows 10 Version 1709 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows Server 2016 (Server Core installation),
- Microsoft .NET Framework 3.5 AND 4.7.2 on Windows 10 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows 10 Version 1607 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.7.1/4.7.2 on Windows 10 Version 1709 for 32-bit Systems,
- Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows 10 Version 1607 for x64-based Systems,
- Microsoft .NET Framework 3.5 AND 4.6.2/4.7/4.7.1/4.7.2 on Windows Server 2016
References
Additional Info
Technical Analysis
Report as Exploited in the Wild
What do we mean by "exploited in the wild"?
By selecting this, you are verifying to the AttackerKB community that either you, or a reputable source (example: a security vendor or researcher), has observed an active attempt by attackers, or IOCs related, to exploit this vulnerability outside of a research environment.
A vulnerability should also be considered "exploited in the wild" if there is a publicly available PoC or exploit (example: in an exploitation framework like Metasploit).