Source: https://github.com/XiphosResearch/exploits/tree/master/deathsize LifeSize Room 5.0.9, remote config disclosure, code execution & local privilege escalation Ultimately the Lifesize Room products have fundamentally flawed firmware, many similar very bugs in the WebUI exist and thier support team have been recommending that port 443 isn't accessible via the internet. They've been alerted to several very similar bugs, and in some cases have fixed one gaping security hole only to leave another one literally 10 lines above completely untouched. facepalm What makes this different? This exploit will run your payload as root. Description This exploit uses the LsSystemRestore.sh script to disclose the current configuration, that is then leveraged to gain access to exploitable APIs in the admin portal which allow arbitrary command injection, then uses a local privilege escalation bug to execute the payload as root. This will work as long as port 443 is open on the phone, Lifesize support should recommend that the power and ethernet cables are disconnected from the device to ensure it remains secure. LsSystemRestore.sh allows autosh commands to be executed without any authentication, this is used to grab the Admin password via the get config -P command. Using the Admin password AMF commands can be sent to the LSRoom_Remoting endpoint, this contains a method called doPrefCommand which is vulnerable to command injection. function doPrefCommand($cmd, $id){ // Look for the existence of a "pref " and ";" needle. $invalidCmd = $this->scrubPrefString($cmd); if ( $invalidCmd ) { return "invalid_command"; } // If we get to here, we want to double check the command for // any unwanted characters: #&;`|*?~<>^()[]{}$\, \x0A and \xFF. ' and " //$cleanCommand = escapeshellcmd($cmd); $prefData = array(); $value = rtrim(shell_exec($cmd)); What's interesting here is that the escapeshellcmd function is commented out, this would have prevented the command injection, but all of the code on the firmware smells of barely competent development and least-effort attempts to patch security vulnerabilities. Local privilege escalation to root is gained by executing the setuid tcpdump_manager executable, which runs a program called reset_tcpdump using PATH to resolve its location using PATH=/tmp:$PATH tcpdump_manager Other exploits exist in the 'support' portal, providing command execution, for example in support/download_file.php: