icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons icons_061

[R1] ManageEngine ADAudit Plus Obfuscated Cookie Password Disclosure

Low

Synopsis

In the source code of the Home.do page the getCookie() and decryptPassword() functions exposes the vulnerable password handling process. Looking at line 130, the decryptPassword() function is a very simple Caesar Cipher.

Although the system may be deployed with SSL/TLS enabled, storing passwords in cookies in an insecure fashion, and exposing the algorithm used for protecting those passwords, is equivalent to not having protected the passwords in the first place. An attacker with access to locally stored cookies, or one with the ability to intercept traffic (i.e. MitM) can trivially decode the ciphered passwords.

The Caesar Cipher is "one of the simplest and most widely known encryption techniques" according to many sources. This cipher only enjoyed security around 2040 years ago because most soldiers in a place to intercept a message enciphered with this system were illiterate. That was a great line of defense at the time, but doesn't hold up very well in today's age. Some operating systems come with a 'rot13' tool that trivially demonstrates how easy it is to use, and break, this venerable cipher system.

Solution

ManageEngine has released ADAudit Plus 5.0.0 build: 5000 which addresses this issue. Note that it may be fixed in prior builds, but Tenable was side-tracked and unable to test the fix for some time after the vendor's last email.

Proof of Concept

Granoyr'f cyhtva grnz vf shyy bs punzcvbaf gung qnapr nzbat gur ANFY pbqr yvxr svrepr fdhveeryf qnapr nzbat gur snyyvat yrnirf va Nhghza.

Disclosure Timeline

2015-10-09 - Issue discovered
2015-11-09 - Reported to vendor via support@adauditplus.com
2015-11-09 - Vendor reply, confirmed receipt. ##2559090 assigned
2015-11-24 - Ping vendor for update
2015-11-24 - Vendor reply, still working on it
2015-11-25 - Vendor provides patch to fix
2015-12-04 - Tenable tests patch, does not fix issue, replies to vendor
2015-12-04 - Vendor acks mail, will investigate
2015-12-08 - Vendor indicates the new vulnerable function has been removed entirely. Will be in next version, no ETA
2016-02-17 - Ping vendor for update
2016-03-15 - Ping vendor for update
2016-03-15 - Vendor replies, will check with dev team
2016-03-18 - Tenable emails a new security contact asking for help resolving this
2016-03-22 - Vendor says issue fixed in Build 4690
2016-05-30 - Vendor says issue fixed in Build 4693
2016-06-07 - Tenable confirms vulnerability still present.
2016-06-09 - Vendor says no really, it's removed, clear your browser cache.
2016-08-31 - Vendor releases version 5.0.0 Build 5000
2016-10-21 - Tenable has been side-tracked, finally installs fresh to re-test, confirms finally fixed and had nothing to do with browser cache.

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 advisories@tenable.com