Skip to main content
Mallory
HighCISA KEVExploited in the wildPublic exploit

Windows BITS Elevation of Privilege via Improper Symlink Handling

IdentifiersCVE-2020-0787CWE-59· Improper Link Resolution Before…

CVE-2020-0787 is a local elevation of privilege vulnerability in the Windows Background Intelligent Transfer Service (BITS). The flaw exists because BITS improperly handles symbolic links. A local attacker who has already achieved code execution on a Windows system can exploit this weakness to cause arbitrary code execution with SYSTEM-level privileges. Public reporting and the provided context identify this as a post-compromise privilege escalation issue rather than an initial access vector, and note its use by ransomware operators and intrusion clusters including Maze, Egregor, Makop, and UNC2198 via the SOURBITS exploit utility.

Share:
For your environment

Are you exposed to this one?

Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.

ANALYST BRIEF

Impact, mitigation & remediation

What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.

Impact

What an attacker gets, and what they’ve been doing with it.

Successful exploitation allows an attacker to elevate privileges from a lower-privileged local context to NT AUTHORITY\SYSTEM. This can enable full takeover of the affected host, including disabling defenses, dumping credentials, installing persistence, moving laterally, staging ransomware, and executing arbitrary payloads with the highest local privileges. The context specifically notes use of this vulnerability in ransomware operations and hands-on-keyboard intrusions.

Mitigation

If you can’t patch tonight, do this now.

If immediate patching is not possible, reduce opportunities for local code execution and post-exploitation by restricting user ability to run untrusted code, limiting local logon rights, enforcing application control, monitoring for suspicious BITS abuse and symlink-related activity, and detecting known exploit tooling such as SOURBITS. Standard hardening to prevent initial footholds and lateral movement is also relevant, but patching is the primary mitigation.

Remediation

Patch, then assume compromise.

Apply the Microsoft security update for CVE-2020-0787 to affected Windows systems. Because this vulnerability is used after initial compromise, remediation should also include validating that no unauthorized local access or malicious tooling remains on the host, rotating potentially exposed credentials where compromise is suspected, and conducting incident response on systems that were unpatched during known exploitation windows.
PUBLIC EXPLOITS

Exploits

2 valid exploits after Mallory filtered fakes, detection scripts, and README-only repos.

VALID 2 / 2 TOTALView more in app
CVE-2020-0787MaturityPoCVerified exploit

This repository contains a C++ exploit for CVE-2020-0787, a vulnerability in the Microsoft Windows Background Intelligent Transfer Service (BITS) that allows for arbitrary file move operations with SYSTEM privileges. The exploit is structured as a Visual Studio solution with three main projects: BitsArbitraryFileMove (core logic), BitsArbitraryFileMoveExploit (exploit entry point), and CommonUtils (utility functions for file and symlink manipulation). The exploit works by creating a workspace with specific directories and files, setting up mount points and symlinks, and abusing BITS jobs to move an attacker-controlled file (such as a DLL) into a protected system directory (e.g., C:\Windows\System32). This can be used for privilege escalation or arbitrary code execution as SYSTEM. The README provides usage examples, including executing arbitrary commands via named pipes and running a payload executable. The code is operational and provides a working exploit chain for local privilege escalation on Windows systems vulnerable to CVE-2020-0787.

yanghaoiDisclosed Nov 16, 2021c++headerlocal
CVE-2020-0787-EXP-ALL-WINDOWS-VERSIONMaturityPoCVerified exploit

This repository implements a local privilege escalation exploit for CVE-2020-0787, targeting all supported versions of Microsoft Windows. The exploit leverages the Background Intelligent Transfer Service (BITS) and a series of mount point and symbolic link manipulations to move an attacker-controlled file (such as a DLL) into a protected directory (e.g., C:\Windows\System32) with SYSTEM privileges. The repository is structured as a Visual Studio solution with three main projects: the core exploit logic (BitsArbitraryFileMove), a utility library (CommonUtils), and an exploit runner (BitsArbitraryFileMoveExploit). The exploit works by preparing a workspace, creating mount points and symlinks, setting oplocks, and manipulating BITS jobs to achieve the file move as SYSTEM. The code is written in C++ and is operational, providing a working exploit chain rather than just a proof of concept. The main entry points are BitsArbitraryFileMove.cpp and BitsArbitraryFileMoveExploit.cpp. The exploit requires local access and sufficient privileges to create directories and symlinks, and it targets the Windows platform broadly. No network endpoints are involved; all actions are performed locally on the filesystem and via Windows internal object manager paths.

cbwang505Disclosed Jun 16, 2020c++headerlocal
EXPOSURE SURFACE

Affected products & vendors

Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.

VendorProductType
Microsoft CorporationWindows 10 1507operating_system
Microsoft CorporationWindows 10 1607operating_system
Microsoft CorporationWindows 10 1709operating_system
Microsoft CorporationWindows 10 1803operating_system
Microsoft CorporationWindows 10 1809operating_system
Microsoft CorporationWindows 10 1903operating_system
Microsoft CorporationWindows 10 1909operating_system
Microsoft CorporationWindows 7operating_system
Microsoft CorporationWindows 8.1operating_system
Microsoft CorporationWindows Rt 8.1operating_system
Microsoft CorporationWindows Server 1803operating_system
Microsoft CorporationWindows Server 1903operating_system
Microsoft CorporationWindows Server 1909operating_system
Microsoft CorporationWindows Server 2008operating_system
Microsoft CorporationWindows Server 2012operating_system
Microsoft CorporationWindows Server 2016operating_system
Microsoft CorporationWindows Server 2019operating_system

Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.

What this page doesn’t show

The version that knows your environment.

This page is what’s public. Mallory adds the parts that aren’t: which of your assets are affected, which adversaries are exploiting it right now, which detections to deploy, and what to do tonight.
Exposure mapping

Query your assets running an affected version, and investigate the blast radius.

Threat actor evidence1

Every observed campaign linking this CVE to a named adversary.

Associated malware4

Malware families riding this exploit, with evidence and IOCs.

Detection signatures1

YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.

Vendor-by-vendor mapping

Cross-references every affected SKU, including bundled OEM variants.

Social activity

Community discussion across Reddit, Mastodon, and other social sources.