Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:27791
HistoryMar 19, 2012 - 12:00 a.m.

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

2012-03-1900:00:00
vulners.com
44

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=====[ Tempest Security Intelligence - Advisory #02 / 2012 ]============

 Polycom Web Management Interface O.S. Command Injection
 -------------------------------------------------------

Authors:
- 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:

=====[ 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
menus:

Diagnostics --&gt; Network --&gt; 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 '127.0.0.1' in the form, the system will
execute the command "ping -c 1 127.0.0.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:

127.0.0.1 ; ps -ef &gt; /tmp/command_injection.txt #

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

&#40;#1&#41; ping -c 1 127.0.0.1
&#40;#2&#41; ps -ef &gt; /tmp/command_injection.txt # &lt;...&gt;

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
password.

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

During system lab testing the following aggravating factors were
observed:

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

02. The embedded web server &#40;lighttpd&#41; was running with superuser
    privileges, leading to the execution of all injected commands as
    root.

03. The vulnerability &quot;Path Traversal on Polycom Web Management
    Interface&quot; 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
    redirected.

=====[ 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
firewalls.

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

&#40;#1&#41; 127.0.0.1 ; echo &quot;isdnlog stream tcp6 nowait root &#92;
                       /usr/sbin/telnetd telnetd&quot; &#92;
                       &gt;&gt; /etc/inetd.conf #

&#40;#2&#41; 127.0.0.1 ; ps -ef &gt; /tmp/command_injection.txt #

&#40;#3&#41; 127.0.0.1 ; kill -HUP &lt;inetd_PID&gt; #

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
information.

They have also informed that this vulnerability affects the following
products:

  • 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:

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
    costumers.

  • 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/

========================================================================

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iEYEARECAAYFAk9VL9kACgkQ4avQgB/+w+2uNwCfagxJFJmD90ueC9M5s0WgYV6R
z3sAoNHgPEDPYoZ0aGS99guHZPnbSGWL
=6Z5z
-----END PGP SIGNATURE-----