Zoom, a company that sells video conferencing software for the business market, patched a bug this week that could have allowed crooks to hijack customer video conferences.
Attackers with network access could have taken control of participating computers, according to researchers.
David Wells, a researcher at Tenable Security, reported the bug and provided an analysis including a proof of concept demonstration video explaining how attackers could compromise the Zoom system.
The vulnerability, which affected the Windows, Mac and Linux versions of Zoom’s software, lay in the way the company queued and processed messages in its software, Wells said.
This vulnerability affects the following Zoom versions:
- macOS 10.13, Zoom 4.1.33259.0925
- Windows 10, Zoom 4.1.33259.0925
- Ubuntu 14.04, Zoom 2.4.129780.0915
The internal mechanism that Zoom uses to send its network messages handles two kinds of network packet: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).
UDP doesn’t have the kind of handshaking and packet loss prevention overhead that you find in TCP packets, making it leaner and better suited for the latency-sensitive network communications that you find in audio and video conferencing.
TCP is therefore typically used to control sessions, while the simpler UDP protocol is used to send session content.
The messaging mechanism dispatches both kinds of packet to the same message handler program. Wells worked out a way to create a malformed UDP packet that the message handler interprets as a TCP message. The exploit works because the message handler isn’t validating the incoming messages to spot the malformed packet, according to Tenable’s synopsis.
The message handler accepts the UDP packets even when encrypted sessions are enabled, meaning that attackers do not need to authenticate themselves on the system first. That makes it possible for attackers outside of rogue meeting attendees to hijack a meeting. An attacker can be on the local network, or even on a WAN connection, suggests Wells, by brute-forcing the port that the victim is using for their UDP session with the Zoom server.
An attacker could take control of a computer by targeting a remote attendee sharing their screen during a session, said Tenable’s analysis. They could then bypass screen control permissions and send keystrokes and mouse movements directly to that participant’s machine. In practice, though, they’d have to avoid packet loss, which is a common occurrence in UDP sessions, and which could cause their keystrokes to go amiss. They would also have to avoid the victim noticing what they were doing and stopping them.
Tenable first gave Zoom the full details of this flaw on 11 October, and the video conferencing company released fixed versions for its Windows and Mac clients on 20 November, following up with a fix for the Linux client on 30 November.