Security researchers have found a critical remote code execution vulnerability in popular models of enterprise VoIP desk phones made by Avaya. The flaw allows hackers to gain full control of the devices, listen in on calls and even turn the phone into a spying device.

The issue was discovered by researchers from security firm McAfee and was disclosed Thursday at the DEF CON security conference in Vegas. However, firmware updates have been available since June 25.

The vulnerability is located in the DHCP service, which allows the devices to automatically obtain IP addresses on the network. Attackers can exploit it by sending maliciously modified DHCP responses to the devices, which do not require authentication, and winning a race condition with the network’s legitimate DHCP server.

The flaw is a buffer overflow that can result in code execution with root privileges. This means attackers are in full control of the phone’s operating system and can do anything including spoofing calls, changing the messages users see on the display, exfiltrating audio calls or turning on the internal microphone in order to spy on nearby conversations.

“There are a lot of different attack vectors, but we thought the most interesting would be the snooping microphone-based attack, and that’s what we used to build the demo,” Steve Povolny, the head of Advanced Threat Research at McAfee, tells CSO.

Vulnerable device models

The McAfee team found and confirmed the vulnerability on Avaya 9600 Series IP Deskphones. However, according to Avaya’s advisory, J100 Series IP Phones and B100 Series Conference Phones are also affected.

Only phones running firmware version 6.8.1 and earlier and configured with H.323 signaling, not SIP, are affected. The company advises users to upgrade to firmware version 6.8.2 or later. Fortunately, these devices can be managed from a central server, so deploying updates can be done automatically.

Old unmaintained code was at fault

It turns out that the vulnerability had actually been patched a decade ago in dhclient, the open-source component that Avaya used in its firmware. The problem is that after forking the open-source code over ten years ago, the company did not update it or backport security patches from upstream. As a result, Avaya phones were using a dhclient version from 2007.

This is a common problem with many embedded devices and proprietary software projects, which in general rely heavily on open-source code and libraries. Past studies have shown that many companies and device makers do not keep track of which versions of open-source libraries are used where, which means they also don’t track the security issues that are later found and fixed in those projects.

In a different talk at Black Hat this week on vulnerabilities in enterprise SSL VPNs, researchers found that VPN appliances from top vendors were using highly outdated data parsing libraries and even an Apache web server version from 2002. The good news is that there are now increased efforts to create standards that would help companies maintain software bills of materials, which could help address some of these issues.