Researchers discovered several critical vulnerabilities that let attackers reverse the usual direction of communication and infect the user’s computer.
The vulnerability was found with Microsoft’s RDP client and it also applicable for guest-to-host VM escape in Hyper-V Manager.
Microsoft released a patch for the Path-Traversal vulnerability (CVE-2019-0887) as part of its July 2019 Patch. The vulnerability is due to a lack of sanitation checks, Microsoft added validation checks to PathCchCanonicalize.
Further analyzing Checkpoint researchers observed that Microsoft added a workaround to fix the vulnerability and leaving the root cause of the issue “PathCchCanonicalize,” API function unchanged.
By reverse engineering, it was observed that “Microsoft’s implementation of the function, and saw that it splits the path to parts by searching only for \ and ignoring /.”
This lets researchers bypass the issued patch by just replacing the backward slashes in the places of the forward slashes.
“The vulnerability that we just found is a classic case of implementing a sanity check using a different logic than the one that is used for the action we wish to protect.”
So the Checkpoint researchers again contacted Microsoft and disclosed the improperly fixed CVE-2019-0887, which opens a door for a new attack.
Microsoft acknowledged the report and patched again as a part of February’s Patch Tuesday. According to Microsoft to exploit the vulnerability “an attacker must already have compromised a system running Remote Desktop Services, and then wait for a victim system to connect to Remote Desktop Services.”
Now Microsoft fixed the vulnerability by correcting how Remote Desktop Services handles clipboard redirection.
Researchers stated that “Microsoft’s patch for CVE-2020-0655, this fix does not address the core vulnerability in the PathCchCanonicalize function.”
Check Point’s Omri Herscovici said. “We want developers to be aware of this threat so that they could go over their programs and manually apply a patch against it.”