TANDBERG Video Communication Server Arbitrary File Retrieval

                   Virtual Security Research, LLC.
                         Security Advisory


Advisory Name: TANDBERG Video Communication Server Arbitrary File Retrieval
 Release Date: 2010-04-09
  Application: Video Communication Server (VCS)
     Versions: x4.3.0, x4.2.1, and possibly earlier
     Severity: Medium
Discovered by: Jon Hart
  Advisory by: Timothy D. Morgan <tmorgan (a) vsecurity . com>
Vendor Status: Firmware update released [2]
CVE Candidate: CVE-2009-4511
    Reference: http://www.vsecurity.com/resources/advisory/20100409-3/


Product Description
From [1]:

 "The Video Communication Server (VCS) is an integral part of the TANDBERG 
  Total Solution and is the center of the video communications network, 
  connecting the benefits of video conferencing and telepresence to other 
  communications environments including unified communications and IP Telephony networks."

Vulnerability Overview
On December 3rd, VSR identified a directory traversal and file retrieval
vulnerability in the TANDBERG's Video Communication Server.  This issue would allow an authenticated attacker (who has access as an administrator or less privileged user on the web administration interface) to retrieve files from the filesystem which are readable by the "nobody" system user.

Product Background
The TANDBERG Video Communication Server is a Linux-based appliance which
supports the interoperation of a plethora of video and voice communications devices. The VCS provides a web-based management interface implemented in PHP which allows administrators to perform a wide variety of actions, including configuration of the device, management of user accounts, firmware updates, along with number of other items.

Vulnerability Details
The TANDBERG VCS web management interface provides two nearly identical scripts at URLs:

These help pages accept a "file" parameter in the URL which can be used to
retrieve nearly arbitrary files from the filesystem.  The relevant source code for these pages is as follows:

// The following is Copyright (C) 2009 TANDBERG //
// Grab the content before we write anything: we'll need it for the title tag in the <head>
// Dig out the page title, from the <title> tag, 
// then remove any surround in the page as we add our own... 
$filename = $this->helpPagePath . $_GET['page'] . $this->helpPageSuffix;
if (! file_exists($filename)) {
  $helpHTML = "There is no help available for the ". $_GET['page'] . " page<br/>";
  $pageTitle = $_GET['page'];
  $helpHTML = file_get_contents($filename);


  echo "n<!-- ********** -->n";
  echo $helpHTML;
  echo "<!-- ********** -->n";
// end of excerpt //

Here, the final path string ($filename) loaded and displayed to the user is prepended with a directory and appended with a file extension.  Using simple directory traversal techniques ("../") it is possible to traverse to any directory on the filesystem.  Using a trailing NUL byte encoded in the URL (%00) it is also possible to truncate the file path to eliminate the file extension.

For instance, the following URL retrieves the /etc/passwd file:


During testing, it was found that the x4.2.1 firmware runs the web server as the "nobody" user, which somewhat limits the amount of sensitive information that may be obtained.  However, since shadowed passwords were not configured, it was possible to retrieve all local system users' password hashes from /etc/passwd. Additional password hashes are available in /tandberg/persistent/etc/digest.

Versions Affected
VSR has successfully exploited this issue in firmware version x4.2.1.  Based on preliminary source code analysis[2], versions x4.3.0 and x5.0 also appear to be vulnerable.  Earlier versions have not been tested.

Vendor Response
The following timeline details TANDBERG's response to the reported issue:

2009-12-09    Preliminary notice to TANDBERG. TANDBERG responded immediately.

2009-12-22    VSR provided TANDBERG a draft advisory.

2009-12-28    TANDBERG provided VSR with a beta version of the x5.0 firmware, but this did not appear to correct the issue (based on PHP code analysis alone).

2010-01-22    TANDBERG provided VSR with a beta version of the x5.1 firmware for testing which appeared to correct the vulnerability.

2010-03-26    TANDBERG provided VSR with a release candidate firmware for version x5.1.1.

2010-04-07    TANDBERG VCS firmware version x5.1.1 released [2].

2010-04-09    VSR advisory released.

Upgrade to version x5.1.1 to correct this issue.  Temporary mitigation may be achieved by disabling access for potentially less trusted, non-adminstrative users.

Common Vulnerabilities and Exposures (CVE) Information
The Common Vulnerabilities and Exposures (CVE) project has assigned
the number CVE-2009-4511 to this issue.  This is a candidates for
inclusion in the CVE list (http://cve.mitre.org), which standardizes
names for security problems.

Thanks to TANDBERG for the quick initial response and cooperation.



1. TANDBERG - Video Communication Server

2. TANDBERG VCS Firmware Downloads

   Copyright 2009,2010 Virtual Security Research, LLC.  All rights reserved.

To view the advisory as a txt. click here.

Editor’s note: This work was originally published by VSR on their website at https://www.vsecurity.com/resources/advisories.htmlVSR is now a part of NCC Group, so we have migrated this content to research.nccgroup.com. The advisory text as above has been copy-pasted to this blog for historical reference.

Call us before you need us.

Our experts will help you.

Get in touch