Vulnerability title: Poor Quality Implementation Of Diffie-Hellman Key Exchange In Citrix Netscaler
|Affected version:||All prior to 10.1-122.17/9.3-66.5|
|Reported by:||Graham Sutherland|
The remote configuration Java applet contains a poor implementation of the Diffie-Hellman key exchange algorithm. The random number generator used to produce secret values is the java.util.Random class, which is not of cryptographic quality. Publicly known predictors exist for the underlying RNG, and the seed is either 32-bit or 48-bit depending on the host system.
Furthermore, the selection of the secret ‘a’ value within the key generation process is potentially vulnerable to timing attacks that leak the RNG state, as the implementation loops until the RNG outputs a value within a publicly known range.
This vulnerability could allow an attacker to predict future Diffie-Hellman key values by issuing a number of connections to the
server, using a combination of timing attacks and RNG prediction. This may subsequently reveal the session keys used for all connections.
The proof of concept exploit is available.
|25/11/2013||Vendor working on a fix|
Copyright © Portcullis Computer Security Limited 2014, All rights reserved worldwide. Permission is hereby granted for the electronic redistribution of this information. It is not to be edited or altered in any way without the express written consent of Portcullis Computer Security Limited.
The information herein contained may change without notice. Use of this information constitutes acceptance for use in an AS IS condition. There are NO warranties, implied or otherwise, with regard to this information or its use. Any use of this information is at the user’s risk. In no event shall the author/distributor (Portcullis Computer Security Limited) be held liable for any damages whatsoever arising out of or in connection with the use or spread of this information.