Cumulative Patch for Microsoft SQL Server (815495)

Originally posted: July 23, 2003
Summary

Who should read this bulletin: System administrators using Microsoft® SQL Server™ 7.0, SQL Server 2000, Microsoft Data Engine (MSDE) 1.0, Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) and SQL Server 2000 Desktop Engine (Windows).

Impact of vulnerability: Run code of attacker's choice

Maximum Severity Rating: Important

Recommendation: System administrators should apply the security patch to affected systems.

Affected Software:

* Microsoft SQL Server 7.0
* Microsoft Data Engine (MSDE) 1.0
* Microsoft SQL Server 2000
* Microsoft SQL Server 2000 Desktop Engine (MSDE 2000)
* Microsoft SQL Server 2000 Desktop Engine (Windows)

Technical details

Technical description:

This is a cumulative patch that includes the functionality of all previously released patches for SQL Server 7.0, SQL Server 2000, MSDE 1.0, and MSDE 2000. In addition, it eliminates three newly discovered vulnerabilities.

* Named Pipe Hijacking
Upon system startup, SQL Server creates and listens on a specific named pipe for incoming connections to the server. A named pipe is a specifically named one-way or two-way channel for communication between a pipe server and one or more pipe clients. The named pipe is checked for verification of which connection attempts can log on to the system running SQL Server to execute queries against data that is stored on the server.
A flaw exists in the checking method for the named pipe that could allow an attacker local to the system running SQL Server to hijack (gain control of) the named pipe during another client's authenticated logon password. This would allow the attacker to gain control of the named pipe at the same permission level as the user who is attempting to connect. If the user who is attempting to connect remotely has a higher level of permissions than the attacker, the attacker will assume those rights when the named pipe is compromised.
* Named Pipe Denial of Service
In the same named pipes scenario that is mentioned in the "Named Pipe Hijacking" section of this bulletin, it is possible for an unauthenticated user who is local to the intranet to send a very large packet to a specific named pipe on which the system running SQL Server is listening and cause it to become unresponsive.
This vulnerability would not allow an attacker to run arbitrary code or elevate their permissions, but it may still be possible for a denial of service condition to exist that would require that the server be restarted to restore functionality.
* SQL Server Buffer Overrun
A flaw exists in a specific Windows function that may allow an authenticated user—with direct access to log on to the system running SQL Server—the ability create a specially crafted packet that, when sent to the listening local procedure call (LPC) port of the system, could cause a buffer overrun. If successfully exploited, this could allow a user with limited permissions on the system to elevate their permissions to the level of the SQL Server service account, or cause arbitrary code to run.

Mitigating factors:

* Named Pipe Hijacking: To exploit this flaw, the attacker would need to be an authenticated user local to the system.
* This vulnerability provides no way for an attacker to remotely usurp control over the named pipe.

* Named Pipe Denial of Service: Although it is unnecessary that the attacker be authenticated, to exploit this flaw the attacker would require access to the local intranet.
* Restarting the SQL Server will reinstate normal operations
* This flaw provides no method by which an attacker can gain access to the system or information contained in the database.

* SQL Server Buffer Overrun: To exploit this flaw, the attacker would need to be an authenticated user local to the system.
* This vulnerability cannot be remotely exploited.

from http://www.microsoft.com/technet/tre...n/MS03-031.asp