[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[TSI-ADV-1202] Polycom Web Management Interface O.S. Command Injection

Hash: SHA1

=====[ Tempest Security Intelligence - Advisory #02 / 2012 ]============
     Polycom Web Management Interface O.S. Command Injection

    - Joao Paulo Caldas Campello:
        - @jpcampello
	- http://linkedin.com/in/jpcampello
        - < joao.paulo[at]tempest[dot]com[dot]br >
    - Heyder Andrade:
        - @heyderandrade
	- http://linkedin.com/in/heyderandrade
        - < heyder.andrade[at]tempest[dot]com[dot]br >

    Tempest Security Intelligence - Recife, Pernambuco - Brazil

=====[ Table of Contents ]==============================================
 1. Overview
 2. Detailed description
 3. Aggravating factors
 4. Further attack scenarios
 5. Affected versions & Solutions
 6. Timeline of disclosure
 7. Thanks & Acknowledgements
 8. References

=====[ Overview ]=======================================================
 * System affected  : Polycom Web Management Interface
 * Model            : G3/HDX 8000 HD
 * Software Version : Durango 2.6.0 Release - build #4740
 * Embedded Linux   : Polycom Linux Development Platform v2.14.g3

                      Other versions or models may also be affected.
 * Impact           : Successful exploitation of this vulnerability may
                      allow an attacker to execute arbitrary commands on
                      Polycom operating system.

The Polycom HDX 8000 series [1] is a well-known video and audio 
conference device running an embedded Linux PPC system.

This advisory is also available at:

 - http://www.tempest.com.br/advisories/tsi-adv-1202/
=====[ Detailed description ]===========================================

The web management interface on the Polycom device allows users to
execute troubleshooting network tests by sending an ICMP echo request to
user supplied hosts. This feature is available through the following

    Diagnostics --> Network --> PING

This feature receives user supplied input and uses it as a parameter to
the 'ping' command, returning the average round-trip time. For example:
if the user inserts the value '' in the form, the system will
execute the command "ping -c 1" followed by an stdout
redirection to a random generated filename on /tmp directory.

The Command Injection vulnerability occurs due to lack of proper input
validation on user supplied data.

UNIX based systems provide the possibility to execute multiple commands
by using the semi-colon (;) character (causing the system to run all
commands consecutively), thus allowing the attacker to submit a
specially crafted parameter to run arbitrary commands on the underlying
operating system.

The stdout redirection can be easily bypassed by adding a comment (#)
symbol after the trailling command submitted by the attacker, as shown
in the following example: ; ps -ef > /tmp/command_injection.txt #

The above parameter will result in the execution of two commands:

    (#1) ping -c 1
    (#2) ps -ef > /tmp/command_injection.txt # <...>

Any command inserted by Polycom's web management interface after user
supplied input will be disabled by the comment symbol, thus allowing the
attacker to precisely control what she wants to execute and where its
output will be stored.

To fix this vulnerability, Polycom Web Management Interface should
perform proper input validation, sanitizing all user supplied data
before it's used elsewhere on the web application or in the underlying
operating system.

Also, Polycom Web Management Interface should not allow itself to be
accessed without proper configuration of a strong administrative

=====[ Aggravating factors ]============================================

During system lab testing the following aggravating factors were

    01. The default administrative password of Polycom Web Management
        Interface was empty.

    02. The embedded web server (lighttpd) was running with superuser
        privileges, leading to the execution of all injected commands as

    03. The vulnerability "Path Traversal on Polycom Web Management
        Interface" can be used to avoid doing blind command injection.

        Its explotation enables the attacker to view the result of all
        injected commands inside the files to where stdout/stderr were

=====[ Further attack scenarios ]=======================================

As depicted by the abovementioned factors, an attacker could easily run
arbitrary commands, even to overwrite system configuration files.

For instance, the Internet Super-Server (inetd) configuration file
"/etc/inetd.conf" could be modified, aiming to execute the telnet daemon
bound to an arbitrary tcp port that would be reachable through corporate

To achieve this scenario an attacker would only need to submit three

    (#1) ; echo "isdnlog stream tcp6 nowait root \
                           /usr/sbin/telnetd telnetd" \
                           >> /etc/inetd.conf #

    (#2) ; ps -ef > /tmp/command_injection.txt #

    (#3) ; kill -HUP <inetd_PID> #

The former parameter would add a line to "/etc/inetd.conf", enabling
telnet daemon to listen on 'isdnlog' port (20011/tcp). The latter would
instruct the  inetd daemon to reload its configuration file.

The process number of inetd could be identified by reading the file
"/tmp/command_injection.txt" through exploitation of vulnerability
"Path Traversal on Polycom Web Management Interface".

=====[ Affected versions & Solutions ]==================================

According to vendor's response, Polycom will publish Technical Bulletin
94332 to its costumers, reporting their official solution and mitigation

They have also informed that this vulnerability affects the following

 - Polycom HDX Video End Points running commercial software versions
   earlier than 3.0.4;
 - UC APL customers running software versions earlier than 2.7.1.J.

Still according to Polycom, customers will be able to download version
3.0.4 by the end of March, 2012, at the link provided below:

 - http://support.polycom.com/PolycomService/support/us/support/video/hdx_series/

UC APL customers can upgrade to version 2.7.1.J to avoid this vulnerability.

Until version 3.0.4 is released -- and for customers who cannot update
to version 3.0.4 -- Polycom recommends sysadmins to disable the option
for web management on HDX units running older versions.

=====[ Timeline of disclosure  ]========================================

 - Dec/02/2011: Vendor contacted by e-mail on
                <security[at]polycom[dot]com >.

 - Dec/02/2011: Vendor first response.

 - Dec/28/2011: We have sent another e-mail asking for information.

 - Feb/15/2012: As vendor did not reply to our previous message, we have
                sent another e-mail telling we were going to disclose
                the advisories.

 - Feb/15/2012: Vendor responded asking for some more time to verify
                appropriate fixes and mitigations to vulnerabilities.

                We have agreed on releasing the advisories on two weeks.

 - Feb/29/2012: Vendor sent an email reporting the technical bulletins
		which describe their official solution and mitigation
                information they were going to provide to their

 - Mar/01/2012: Tempest and Polycom have coordinated publication date on
                March 05.

 - Mar/05/2012: Public disclosure of advisories.

=====[ Thanks & Acknowledgements ]======================================
 - Tempest Security Intelligence / Tempest's Pentest Team [2]
 - Evandro Hora < evandro[at]tempest[dot]com[dot].br >
 - Joaquim Brasil < joaquim.brasil[at]tempest[dot]com[dot].br >
 - Ricardo Ulisses < ricardo[at]tempest[dot]com[dot].br >
=====[ References ]=====================================================
 [1] http://www.polycom.com/
 [2] http://www.tempest.com.br/

Version: GnuPG v1.4.11 (GNU/Linux)