Tenable Research Advisory: Peekaboo Critical Vulnerability in NUUO Network Video Recorder

Tenable Research

Tenable Research has discovered a critical vulnerability named Peekaboo permitting remote code execution in IoT network video recorders for video surveillance systems that would allow attackers to remotely view feeds and tamper with recordings. On September 19, NUUO released version 3.9.1 to address the Peekaboo vulnerability. Affected users are urged to update their NVRMini2 devices as soon as possible. The update can be downloaded from their website here.

Tenable Research discovered two vulnerabilities in NUUO’s Network Video Recorder software. The first is a critical unauthenticated stack buffer overflow and the second is a backdoor in leftover debug code. These vulnerabilities were assessed and tested in the NVRMini2, a network-attached storage device and network video recorder.

What you need to know? Tenable Research has found a critical remote code execution vulnerability called Peekaboo in NUUO’s NVRMini2 software that an attacker can exploit to fully compromise the system.

What’s the attack vector? The web service is vulnerable to a stack buffer overflow that can be exploited remotely by an unauthenticated attacker.

What’s the business impact? An attacker can gain full system access, giving them control over and access to attached camera feeds and recordings. In addition, access credentials for connected cameras can be read in cleartext.

What’s the solution? Urgently apply the update from NUUO.

Background

NUUO offers closed-circuit television (CCTV), surveillance and video software and hardware. NUUO software and devices are commonly used for web-based video monitoring and surveillance in industries such as retail, transportation, education, government and banking. The vulnerable device, NVRMini2, is a network-attached storage device and network video recorder. Multiple camera feeds can be viewed and recorded simultaneously.

More interestingly, NUUO OEMs and whitelabels its software to third-party vendors. The full list of affected third-party vendors is currently unknown.

CVE-2018-1149: Peekaboo Unauthenticated Stack Buffer Overflow

Analysis

We found an unauthenticated stack buffer overflow (CWE-121) permitting remote code execution. This vulnerability has a CVSSv2 Base score of 10.0 and a Temporal Score of 8.6; it’s rated as Critical severity.

The NVRMini2 uses an open-source web server that supports some executable binaries via the common gateway interface (CGI) protocol. One of the CGI binaries that can be executed on the NVRMini2 is 'cgi_system' and it can be accessed via http://x.x.x.x/cgi-bin/cgi_system. This binary handles a variety of commands and actions that require the user be authenticated.

During authentication, the cookie parameter’s session ID size isn’t checked, which allows for a stack buffer overflow in the sprintf function. This vulnerability allows for remote code execution with “root” or administrator privileges.

Proof of concept

Jacob Baines, senior research engineer at Tenable, developed an exploit to demonstrate how this vulnerability might be leveraged to take over the NVRMini2 and manipulate connected cameras.

CVE-2018-1150: The Mystery of the Backdoor

We also found a backdoor in some leftover debug code.

<pre>
if (file_exists(constant("MOSES_FILE"))) //back door
{
update_session();
return 0;
} </pre>

If a file named /tmp/moses exists, the backdoor is enabled. It permits the listing of all user accounts on a system, and allows someone to change any account’s password. This would, for example, permit an attacker to view the camera feeds, view CCTV recordings, or remove a camera from the system entirely. This vulnerability has a CVSSv2 Base Score of 4.0 and a Temporal Score of 3.2, and is rated Medium severity.

This is a very odd artifact. We weren’t able to determine if it’s leftover development code or if it was maliciously added. To be able to activate and utilize the backdoor, an attacker would need to be able to create the file “/tmp/moses,” so the attack would require some form of access or need to be combined with another exploit. Its existence and lack of obfuscation in the code is the real mystery.

Business impact

NUUO is a global leader in the video surveillance industry and these devices are widely deployed with more than 100,000 installations worldwide. Their software is also OEM’d and integrated in third-party surveillance system deployments by a wide variety of technology and system integration partners. With any NVRMini2 instance able to manage up to 16 connected CCTV cameras, the count of indirectly exposed devices is potentially in the hundreds of thousands.

The remote code execution vulnerability especially is of particular concern. Once exploited, Peekaboo gives cyber criminals access to the control management system (CMS), exposing the credentials for all connected CCTV cameras. Using root access on the NVRMini2 device, cyber criminals could disconnect the live feeds and tamper with security footage. For example, they could replace the live feed with a static image of the surveilled area, allowing criminals to enter the premises undetected by the cameras.

<code>
root@NVR:/NUUO/bin# cat /mtd/block4/NUUO/etc/camera.ini
[Camera01]
CameraAuto=0
ShowModelName=M3044-V
MacAddress=
OutputPinCount=0
InputPinCount=0
ManufacturerName=Axis
BrandName=Axis
Protocol=3
Channel=1
ModelName=M3044-V
Manufacturer=
Brand=
Password=password1
UserName=root
Port=80
HostIP=192.168.1.183
CameraName=AXIS
</code>

Exposed CCTV Camera Credentials

Threat actors are currently actively targeting other CCTV NVRs and cameras, such as the Mirai and GafGyt malware families, which are commonly being used to compromise IoT devices. In addition, NUUO NVR devices were also specifically targeted by the Reaper IoT botnet, as we reported last year.

Solution

UPDATE: On September 19, NUUO released version 3.9.1 to address the Peekaboo vulnerability. Affected users are urged to update their NVRMini2 devices as soon as possible. The update can be downloaded from their website here. We also advise affected end users to restrict and control network access to the vulnerable devices to authorized and legitimate users only.

Identifying affected systems

Tenable has the following plugins available for identifying vulnerable assets.

Plugin ID Description 103929 NUUO NVR Web Interface Detection 117427 NUUO NVRMini2 Multiple Vulnerabilities


Additional information

Read more >

Published on Sep 17, 2018

People also viewed

API Delivery Engineer

Uxbridge United Kingdom Furzeground Way , Stockley Park, Uxbridge, United Kingdom, UB11 1EZ Professional Services Professional Services
Your Role:Assist in the deployment and configuration of Tenable solutions within client organisations. The consultant will provide technical support, preparation and documentation to clients as part of a small delivery team. The consultant will in...

Principal Research Engineer

Paris Paris France Paris, France Sensors Research & Development
Your Opportunity:As the Cyber Exposure market leader Tenable is looking for a passionate and talented Principal Researcher for its Tenable Research team. Tenable Research is significant and growing global security research team consisting of rever...

Security Consultant - API

North Sydney Australia Pacific Highway, North Sydney, Australia, NSW 2060 Professional Services Professional Services
Your Role:Tenable’s Global Professional Services organization performs Tenable product installation, configuration, customizations, and security audits for our clients, and is looking to hire a security consultant with expertise developing scripts...

Field Product Manager

Seattle Washington United States 5th Ave, Seattle, Washington, United States, 98101 Product Management Research & Development
Your Role:The Field Product Manager  supports and works with Product Management, Engineering, Product Marketing, Sales, and other internal teams to guide on how Tenable products and services could be used to best suit customer needs. This supporti...

Technical Product Manager - Cloud Services

New York New York United States Broadway, New York, United States, 10012 Product Management Research & Development
Your Role:Tenable is looking for a Technical Product Manager - Cloud Services, responsible for driving the product strategy and management of our cloud services, platform infrastructure, and public APIs. This full-stack PMrole is expected to be sk...

Sr. UI Engineer

Los Angeles California United States West Jefferson Boulevard, Playa Vista, Los Angeles, California, United States, 90066 Cloud Platforms Research & Development
Your Role:Tenable is looking for an extraordinary Senior UI Engineer to join the Tenable.io Engineering team. This is an opportunity to make a high impact while helping the team deliver on a next-generation enterprise web application. The ideal ca...

We have big plans for continued global growth, and we’re looking for people who are creative, flexible and dedicated to helping us build something great – something that matters.