Vulnerability in Quake3Arena Auto-Download Feature

	Internet Security Systems Security Advisory
May 3, 2000
Vulnerability in Quake3Arena Auto-Download Feature

Synopsis:
Internet Security Systems (ISS) has identified a vulnerability in id
Software's Quake3Arena that could allow an attacker to read or write files
on a computer that has the software installed. This vulnerability is
important to network administrators who may be unaware that users are
accessing potentially malicious Quake3Arena servers outside their network.

The environment for Quake3Arena allows client-side modification to read and
write files for purposes such as configuration. Modifications run in a
protected environment similar to the Java virtual machine but proprietary to
id Software. The file access routines in this environment are limited to
files installed in the directory where the modification is installed.
Modifications are located in subdirectories under the Quake3Arena
installation directory. It is possible to open files in directories above
the modifications directory allowing an attacker to open any file on the
same drive.

Combining the ability to access files with the automatic download feature
that was added to Quake3Arena in the 1.16 update on March 15, 2000, this
vulnerability could be used by an attacker to execute malicious code on any
system that connects to a Quake3Arena server.

Impact:
This vulnerability allows an attacker to have read or write access to a
Quake3Arena user's filesystem when the user connects to a server run by the
attacker. This could allow attackers to install Trojan horse programs,
gather passwords, and read or write files.

Affected Versions:
Quake3Arena version 1.16 for Windows allows read or write access to files
and allows code to be automatically downloaded to the user's system for the
purpose of manipulating files.

Description:
A programming Software Developers Kit (SDK) for Quake3Arena is supplied by
id Software along with source code to a major portion of the program logic.
The SDK is intended to encourage the development of modifications and
enhancements to the program.  

Within the source code for the client side portion of the program, a number
of predefined functions can be called by game modifications. A majority of
these functions manipulate data within the game itself and pose no danger to
the system on which the software is running.

However, four of these functions allow read or write access to the
filesystem. The read functions can read files stored on the filesystem as
well as data compressed within the PKZIP-compatible .PK3 files.  The write
functions only write to files directly on the filesystem. Opening files
requires a relative path, resulting in access only to files that reside in
the subdirectory where the modification has been installed or packed inside
the .PK3 files of that directory.

The routines used to open files do not remove ".." from file specifications
before the file is opened.  An attempt to do so will result in the following
error message:

"WARNING: refusing to create reletive path "C:\etc\etc\etc"

The bug in the implementation opens the file despite the above error
message. It is possible for the end user of the product to miss the error
message since status and error messages are written to the Quake3Arena
'console', which is normally not visible within the program unless the user
presses a special key.

This bug combined with the automatic downloading feature in version 1.16
could be used to mount an attack. 

Recommendations:
Operators of Quake3Arena servers are not vulnerable to attack. However,
before installing a modification and enabling automatic downloading on a
server, the server administrator should verify the source of the
modification to be sure a Trojan horse program has not been installed.  

Users of Quake3Arena should disable the auto download feature to prevent
this attack. This is done by choosing SETUP from the main menu, followed by
GAME OPTIONS. On the list that appears, make sure "Automatic Downloading" is
set to OFF.  If Automatic Downloading is turned on, you will be warned as
files are downloaded to your system. 
                              
If a user chooses to manually install game modifications to the client,
carefully check the modifications for Trojan horse programs. If the
modification includes any .QVM files in the package, it could be used to
mount an attack as described in this advisory.  Any Quake3Arena modification
which uses .DLL files should be examined carefully before installation.
These modifications do not have the same security safeguards as the virtual
environment. Also, be aware that the .PK3 files that are often distributed
are PKZIP format files, and could contain within them trojaned .QVM files.
Use a PKZIP compatible utility to examine any .PK3 files you receive as part
of a Quake3Arena modification.

Network administrators who wish to prevent Quake3Arena users from accessing
potentially malicious servers outside their network may do so with firewall
rules.  Quake3Arena servers normally operate on UDP port 27960, but can be
configured to run on other port numbers.  Since port 27960 is not
exclusively registered for the use of Quake3Arena, blocking this port might
affect other applications that could arbitrarily choose this port number.

Another approach would be to block outbound access to the following specific
address from your network via UDP:

authorize.quake3arena.com:27952

Currently this address resolves to 192.246.40.56:27952, but it could be
spread across multiple IP addresses in the future.

This address is used for authentication/copy protection features within
Quake3Arena.  Clients who cannot send and receive packets to this address
over the Internet will not be able to access Internet-based Quake3Arena
servers.

It is recommended by id Software that all server operators and end users
upgrade to the 1.17 point release as soon as possible. The 1.17 point
release is available at: 
http://www.quake3arena.com/
http://www.planetquake.com/
http://www.quake3world.com/

The network protocol was upgraded from prior versions to help facilitate a
rapid transition to the new code base. This means that 1.17 will not
communicate with prior versions of Quake3Arena.

Additional Information:
The Common Vulnerabilities and Exposures (CVE) project has assigned the name
CAN-2000-0303 to this issue. This is a candidate for inclusion in the CVE
list (http://cve.mitre.org), which standardizes names for security problems.

Credits:
This vulnerability was researched and discovered by Tim Farley of the ISS
X-Force. ISS would like to thank id Software for their response and handling
of this vulnerability. 

Revision History
May 3, 2000:  Initial release.
June 12, 2000:  Added revision history.

______

About Internet Security Systems (ISS)
Internet Security Systems is a leading global provider of security
management solutions for the Internet, protecting digital assets and
ensuring safe and uninterrupted e-business. With its industry-leading
intrusion detection and vulnerability assessment, remote managed
security services, and strategic consulting and education offerings, ISS
is a trusted security provider to more than 9,000 customers worldwide
including 21 of the 25 largest U.S. commercial banks, the top 10 U.S.
telecommunications companies, and all major branches of the U.S. Federal
Government. Founded in 1994, ISS is headquartered in Atlanta, GA, with
additional offices throughout North America and international operations
in Asia, Australia, Europe, Latin America and the Middle East. For more
information, visit the Internet Security Systems web site at www.iss.net
or call 888-901-7477.


Copyright (c) 2002 Internet Security Systems, Inc. All rights reserved
worldwide.

Permission is hereby granted for the redistribution of this Alert
electronically. It is not to be edited in any way without express
consent of the X-Force. If you wish to reprint the whole or any part
of this Alert in any other medium excluding electronic medium, please
e-mail xforce@iss.net for permission.

Disclaimer

The information within this paper may change without notice. Use of this
information constitutes acceptance for use in an AS IS condition. There
are NO warranties with regard to this information. In no event shall the
author be liable for any damages whatsoever arising out of or in
connection with the use or spread of this information. Any use of this
information is at the user's own risk.

X-Force PGP Key available at: sensitive.php as
well as on MIT's PGP key server and PGP.com's key server.

Please send suggestions, updates, and comments to: X-Force
xforce@iss.net of Internet Security Systems, Inc.