<<< Date Index >>>     <<< Thread Index >>>

Citrix NetScaler Web Management Cookie Weakness



Citrix NetScaler Web Management Cookie Weakness


Product: Citrix NetScaler
http://www.citrix.com/lang/English/ps2/index.asp


Background:
For most web application logins a user fills out an HTTP form, which sets up 
the user with a session cookie. The cookie content is merely a session ID, 
which allows the server-side application to match incoming requests to a 
specific user and session. If the cookie gets compromised, such as using XSS, 
the attacker might be able to impersonate the user for the duration of the 
session but it typically does not allow the attacker to obtain the user's login 
credentials.


Vulnerability:
The web management interface of Citrix NetScaler stores the user's credentials 
in an encrypted form in the cookie, namely values ns1 and ns2. In addition the 
cookie contains other encrypted information in values ns3, ns4, and ns5. Since 
the encryption is a simple XOR with a fixed key stream it is possible to 
determine parts of the key stream by XOR'ing a known plaintext with its 
corresponding ciphertext. This in turn allows the attacker to recover the 
plaintext form of the user's credentials by applying the key stream to cookie 
values ns1 and ns2. Furthermore, the cipher does not in any way pad the 
plaintext before it gets encrypted so the length of the ciphertext is equal to 
the length of the plaintext, which also provides a clue about the plaintext.

There are several approaches to obtain the ciphertext for some known plaintext:

* Log into the management console with the attacker's own credentials (if the 
attacker is a configured user, even with minimal privileges) and analyze his 
own cookie.
* Make an educated guess about the username contained in ns1. (As an example, 
the default root user on NetScaler is "nsroot".)
* Make an educated guess about the device hostname or IP address, which is 
contained in ns3. (As an example, the "main" IP address is stored unencrypted 
in cookie value "domain". This is a minor vulnerability all by itself.)
* Use cookie value ns4, which is an encrypted value of "NS".
* Use cookie value ns5, which is an encrypted value of either "true" or "false".


The vulnerability has been identified in version 8.0, build 47.8.
However, other versions may be also affected.


Solution:
Do not stay logged into the NetScaler web management interface while browsing 
other web sites to avoid cookie theft via XSS, such as CVE-2007-6037.


Found by:
nnposter