Vulnerability Note VU#970915

Overview

The Quake II Server contains an information leakage vulnerability that allows remote attackers to gain control of the game server process.

Description

The Quake II Server responds to console commands from Quake II clients to perform a variety of game and server management functions. Both the server and client store configuration and status information in console variables (cvars) that are accessed using a syntax of "$name", where "name" is the name of the console variable to be expanded.

In normal operation, users interact with a client console application to issue commands to the server. If the user types a command containing the string "$rcon_password", the client console will include the value of a local variable named "rcon_password" in the command string.

However, if the client console is modified to prevent local variable expansion, an attacker can pass an unexpanded variable string to the server. When the server processes the string, it will expand it using the local variables of the server, not the client.

For example, the "say" command broadcasts text messages from one Quake II client to other players via the server. If the server encounters a "say" command that contains an unexpanded variable string such as "$rcon_password", it will expand the variable name and include the resulting text in the broadcast message. This can be used by an attacker to gather information from affected servers, including authentication information that would allow the attacker to gain control of the game server process.

Impact

Attackers can obtain authentication information from affected servers, resulting in compromise of the game server process.

Solution

Apply a patch from your vendor

Please see the vendor section of this document for information on patch availability and locations.