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

Corsaire Security Advisory: BEA Tuxedo Administration CGI multiple argument issues



-- Corsaire Security Advisory --

Title: BEA Tuxedo Administration CGI multiple argument issues
Date: 04.07.03
Application: BEA Tuxedo 8.1 and prior
Environment: Various
Author: Martin O'Neal [martin.oneal@xxxxxxxxxxxx]
Audience: General distribution
Reference: c030704-009


-- Scope --

The aim of this document is to clearly define several issues in the 
argument handling functionality of the BEA Tuxedo Administration Console 
application, as supplied by BEA Systems, Inc [1]. 


-- History --

Vendor notified: 04.07.03 
Document released: 31.10.03


-- Overview --

The BEA Tuxedo Administration Console is a CGI application that allows 
the remote administration of Tuxedo functions. One of the start-up 
arguments it accepts is a path to an INI file containing environmental 
settings. By entering various path values into this argument it is 
possible to:

- Confirm the existence of files outside of the web server environment.
- Cause a Denial of Services (DoS) on the web server host.
- Execute a cross-site scripting (XSS) attack through the application.


-- Analysis --

The BEA Tuxedo Administration Console is a CGI application that allows 
the remote administration of Tuxedo functions. One of the start-up 
arguments that this CGI application accepts is a path to an INI file. 
This file contains environmental variables, such as the default 
installation path of the Tuxedo application etc.  

The INIFILE argument appears not to be checked for any basic formatting 
issues such as a path outside of the web root, the use of device names, 
or for the presence of HTML constructs. 

By entering various path values into the INIFILE argument it is possible 
to use the Administration Console to confirm the existence of files 
outside of the web server environment, including those on different 
logical filesystems and even network drives. Through this approach it is 
possible to enumerate files, drives and hosts that are contactable by 
the target web server, so that they might be used with other exploits. 

By using standard device names (CON, AUX, COM1, COM2 etc) within the 
arguments, the server thread will become unresponsive until the 
service/daemon is restarted. 

By using HTML constructs, mobile code such as JAVA can be executed 
within the users context. This style of attack can be used to gain 
access to sensitive information, such as session cookies etc.


-- Proof of concept --

This proof of concept is known to work with a default BEA Tuxedo 
installation on a Windows platform. To make it work within different 
environments, you may need to alter the path used in the URL 
appropriately.

To replicate the XSS issue, initiate a connection to the server that is 
hosting the Tuxedo application, then use the following URL. 

   http://host/udataobj/webgui/cgi-bin/tuxadm.exe?
   INIFILE=<script>alert('XSS')</script>

This should result in an error, accompanied by a popup script dialog 
containing the message "XSS".


-- Recommendations --

The application should be reviewed in line with security best practises, 
such as those recommended by the OWASP project [2], with special 
consideration paid to the validation of input and output fields.

Access to administrative tools such as this should be restricted to 
trusted domains only and where possible, should also be protected by 
additional measures, such as strong authentication. 

BEA have released an advisory (BEA03-38.00) [3] detailing the 
availability of a patch to correct the issues. This should be reviewed 
and if found to be suitable, the patch should be applied. 


-- CVE --

The Common Vulnerabilities and Exposures (CVE) project has assigned
Multiple numbers to this issue: 

CAN-2003-0621 BEA Tuxedo Administration CGI file disclosure issue
CAN-2003-0622 BEA Tuxedo Administration CGI DoS issue
CAN-2003-0623 BEA Tuxedo Administration CGI XSS issue

These are candidates for inclusion in the CVE list, which standardises 
names for security problems (http://cve.mitre.org). 


-- References --

[1] http://www.bea.com
[2] http://www.owasp.org
[3] http://dev2dev.bea.com/resourcelibrary/advisoriesnotifications/
    advisory03_38_00.jsp


-- Revision --

a. Initial release.
b. Revised to include vendors recommendations.


-- Distribution --

This security advisory may be freely distributed, provided that it 
remains unaltered and in its original form. 


-- Disclaimer --

The information contained within this advisory is supplied "as-is" with 
no warranties or guarantees of fitness of use or otherwise. Corsaire 
accepts no responsibility for any damage caused by the use or misuse of 
this information.


Copyright 2003 Corsaire Limited. All rights reserved.