Virtualization hypervisor technology is supposed to isolate virtual machines from the underlying operating system. Yet on the final day of the 10th anniversary Pwn2Own hacking challenge on March 17, two teams of security researchers—360 Security and Tencent Security Team Sniper—were each able to escape the security isolation that virtualization is supposed to provide.
The three-day Pwn2Own 2017 event, which was once again held at the CanSecWest Conference in Vancouver, was run by Trend Micro's Zero Day Initiative (ZDI), which pays security researchers for responsibly disclosing zero-day vulnerabilities. In total, Trend Micro awarded researchers $823,000 in prize money, with $233,000 awarded on the first day, $340,000 on the second day, and $250,000 on the third and final day of the event.
As was the case with most of the high-level exploits demonstrated at Pwn2Own 2017, the hypervisor exploit put together by 360 Security was not a single vulnerability. Rather, the researchers chained together three different vulnerabilities to exploit their target.
The first flaw used by 360 Security in the hypervisor escape was a memory heap overflow vulnerability in Microsoft's Edge web browser. The browser flaw was accompanied by a type confusion vulnerability in the Microsoft Windows kernel. The Edge and Windows vulnerabilities alone, however, weren't enough to escape the confines of the VMware Workstation hypervisor isolation. The 360 Security researchers also had to include a zero-day uninitialized buffer vulnerability in VMware Workstation to successfully execute the virtual machine escape.
"They won't say exactly how long the research took them, but the code demonstration needed only 90 seconds," ZDI wrote in a blog post explaining the exploit.
The 360 Security researchers were not the only team that was able to escape the virtualization hypervisor. Tencent Security Team Sniper took direct aim at VMware Workstation and was also able to successfully escape a guest virtual machine to attack the underlying host operating system with an entirely different set of vulnerabilities than what 360 Security demonstrated.
Tencent Security Team Sniper also had three vulnerabilities in its virtualization hypervisor exploit chain. The first vulnerability was a use-after-fee memory vulnerability in the Windows operating system kernel. The second vulnerability in the exploit chain was a VMware Workstation information leakage flaw. Tying them together was an uninitialized buffer vulnerability in VMware Workstation that enabled the Team Sniper researchers to escape from the guest virtual machine to attach the host system. For its efforts, Team Sniper was awarded $100,000.
A Microsoft Edge web browser exploit was the only other flaw successfully demonstrated on the final day of Pwn2Own 2017. Researcher Richard Zhu was able to chain together three vulnerabilities, including a pair of use-after-free flaws in Edge and a buffer overflow in Windows, to earn himself a $55,000 award.
Overall at the three-day event, 51 different security bugs were reported to ZDI across Microsoft Windows, Microsoft Edge, Adobe Reader, Apple Safari, Apple macOS, Ubuntu Linux, Mozilla Firefox and VMware Workstation applications. In contrast, at the Pwn2Own 2016 event (which was only two days), there were 21 vulnerabilities reported to ZDI, with a grand total of $460,000 in prize money awarded.
What Pwn2Own 2017 has demonstrated as an event is that once again, despite the best efforts and intentions of software vendors, zero-day vulnerabilities remain an issue.