While working on various vulnerability research projects, I encountered multiple Authenticated Remote OS Command Injection vulnerabilities in four Lifesize products:
This is a very trivial bug, and the reason it hasn’t been published before today is most likely that it is quite hard to obtain the firmware for these products: It can only be downloaded off the Lifesize website if you have a valid serial number for the specific product you want the firmware for.
Once you obtain the firmware, however, you can simply extract it using binwalk.
Since I knew Lifesize used PHP for their web interface, I searched for PHP files in the extracted firmware. A quick look revealed many PHP files, most of them belong to the support section.
The support section is intended to be used by customers who seek help from Lifesize customer support, and support asks for additional log files from the devices.
The support section is a nice GUI wrapper that eases the collection of those logs and other troubleshooting issues as described in this Lifesize article.
However, this same support section could lead to compromise of the device.
The most surprising thing about the support section is that these Lifesize products come shipped with default support account.
This fact is important because the vulnerabilities I found require you to be logged into the support interface, but this default account makes the life of an attacker so much easier, as in many cases the password for default accounts is never changed by the device owner.
With this introduction in mind, let’s dive in the vulnerability itself.
What we have here is a classic programming error: user-provided input is passed without any sanitization to PHP shell_exec function, which executes system commands as the webserver user.
Here are a few code snippets from some of the affected files, as there are too many to list them all:
Trustwave contacted Lifesize back in November to start a responsible disclosure process, but there was no initial response. We reached back out to the organization through their support channel in early January and we received the following response from Lifesize:
Figure 2: Lifesize' final response to the responsible disclosure process
As seen in the above Figure 2, Lifesize acknowledges that they have security issues in their products but does not have any plans to release fixes due to the products having end of life or end of sale dates announced.
The link I provided them with my advisory, is privilege escalation (LPE) bug, which was found by another researcher, I blurred it on purpose because this bug wasn’t fixed either.
As I mentioned before, the command injection vulnerabilities I found would run system commands as the webserver, in this case Apache. While this user is limited, it can still have a big impact as it would give an initial foothold for an attacker inside the corporate environment those Lifesize products are located at.
However, if you combine this LPE exploit together with my command injection vulnerability, you could achieve root privileges on the Lifesize product’s system and have full persistence on the device and its underlying corporate network.
I wrote a python PoC exploit that achieves full RCE on those Lifesize products and provided it to Lifesize with the advisory.
The PoC takes an argument which is an IP of Lifesize product and tries to connect with the default credentials, then it crafts a malicious request which injects code with a payload that would escalate from Apache user into root and would spawn a reverse shell with root privileges.
Despite all this proof, Lifesize decided not to patch either of these vulnerabilities, leaving those Lifesize devices, and Lifesize customers using them, vulnerable to exploitation.
I decided to check who uses those Lifesize devices, and what the implications would be if I released the full PoC with the advisory without Lifesize patching those products.
Figure 3: A Shodan query for Lifesize products in universities
As seen in figure 3, there are 372 Lifesize devices in different universities around the world, hopefully, some of those universities changed their default credentials, so a remote attacker cannot exploit this vulnerability. But this, of course, still leaves them vulnerable to an attacker who already has some inside foothold and access to the changed credentials using the devices to expand laterally, or even worse, an employee with knowledge of the credentials could exploit the system.
But the above query shows only universities, what other businesses have those devices, and could be vulnerable? There are thousands of these devices remotely accessible to the internet, and probably thousands more which reside on internal networks.
Because of the severity of this vulnerability, as well as how many vulnerable devices are still out there, I decided not to provide the full PoC at this time. Hopefully, this will give organizations who use these vulnerable products time to act and make sure their networks are not compromised due to the presence of these products on them.
It is always a dilemma when you go public with an advisory after a responsible disclosure process that does not result in a fix, on one hand, I could simply trash my work on this research and keep attention off of it, knowing Lifesize knows about an issue but doesn’t plan on fixing it. But at the same time, I know that there are many big organizations that could be impacted if a malicious attacker found and exploited this vulnerability as well, which as I mentioned at the beginning is not that difficult to do.
For all we know, a malicious attacker could already have in their possession the same knowledge that I do and may be actively using this exploit to infiltrate corporate networks.
This is the original security researcher dilemma that birthed the concept of responsible disclosure to begin with, and while we do our best to work with vendors and give them time to understand, consider and fix issues we bring forth, unfortunately not all stories end with an “and they lived patched ever after”…
Given no prospect of an official patch, we advise organizations with these Lifesize products in place to first and foremost change the default passwords on the devices and to consider this risk when choosing where in the network to place them, if at all.
UPDATE: The day prior to releasing this “full disclosure” advisory, Lifesize has apparently rethought their position to not patch this vulnerability. A statement they released reads in part:
"We encourage all customers using Lifesize 220 Series systems to contact Lifesize support for a hotfix. Our support teams can be reached by telephone, email or by opening a support ticket. For more information, visit: https://www.lifesize.com/en/support/contact-support"
It often takes the possibility of full disclosure for organizations to issue a fix, but we are always happy to see security vulnerabilities closed. Please note that we have not been able to access or verify that the hotfix fully patches the vulnerabilities we discuss in this advisory.
However, since there is now a hotfix available for owners of these systems, we will also be releasing the PoC code for this vulnerability. We will hold the PoC for two weeks until Thursday, February 21st in order to give users a chance to apply the hotfix. At that time we will release the PoC code to provide users, administrators and network security professionals with the technical details and tools to validate whether they are still vulnerable. This PoC will be added directly to the advisory link below.
For more information please see our advisory: https://www.trustwave.com/en-us/resources/security-resources/security-advisories/?fid=22113