REVISIÓN: Posible de ataques de desbordamiento de búfer con procedimientos almacenados extendidos

Seleccione idioma Seleccione idioma
Id. de artículo: 280380 - Ver los productos a los que se aplica este artículo
Nº DE ERROR: 100932 (SQLBUG_70)
Nº DE ERROR: 100936 (SQLBUG_70)
Nº DE ERROR: 101013 (SQLBUG_70)
Error nº: 351188 (SHILOH_bugs)
Error nº: 351189 (SHILOH_bugs)
Expandir todo | Contraer todo

En esta página

Síntomas

Un error en varios de los procedimientos almacenados extendidos que se incluye con SQL Server puede permitir que un búfer de memoria asignado en la pila se sobrescribirán con datos arbitrarios, podría permitir a un atacante ejecutar código arbitrario en el espacio de proceso de SQL Server. Este código arbitrario puede utilizarse para fines tan sencillo como apagar el servidor para generar un proceso diferente que podría utilizarse para controlar el servidor.

Causa

La función srv_paraminfo se utiliza para copiar los datos por el llamador pasadas un búfer de memoria asignado por el procedimiento almacenado extendido (destinatario). Si el destinatario asigna este búfer en la pila y si los datos pasados al procedimiento almacenado extendido están mayores que este espacio asignado, pueden copiar los datos restantes en la pila, potencialmente sobrescribir la dirección de retorno que se ejecuta cuando la función devuelve. Creando cuidadosamente un búfer con la información correcta, instrucciones arbitrarias pueden se coloca en la memoria del servidor y permite la ejecución.

Solución

SQL Server 2000

Para resolver este problema, consiga el Service Pack más reciente para Microsoft SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211INF: Cómo obtener el Service Pack más reciente de SQL Server 2000
Nota : se creó la siguiente revisión antes de SQL Server 2000 Service Pack 1.

Para SQL Server 2000, la versión en inglés de esta revisión debe tener los atributos de archivo siguientes o posteriores:
   Version      File name
   -------------------------

   8.00.0223    Xprepl.dll
   8.00.0223    Xpstar.dll
   8.00.0223    Xpqueue.dll
   8.00.0223    Odsole70.dll
				


SQL Server 7.0

Para resolver este problema, obtenga el service pack más reciente para Microsoft SQL Server 7.0. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
301511INF: Cómo obtener el Service Pack más reciente de SQL Server 7.0
Nota : se creó la siguiente revisión antes de SQL Server 7.0 Service Pack 4.

La versión en inglés de esta revisión debe tener los atributos de archivo siguientes o posteriores:
   Version      File name
   ------------------------

   7.00.0918    Xprepl.dll
   7.00.0918    Xpstar.dll
   7.00.0918    Replres.dll
				
Nota : debido a la interdependencia entre archivos, el más reciente revisión o característica que contiene los archivos anteriores quizás contenga también archivos adicionales. Para instalar la revisión, siga los pasos siguientes:
  1. Leer Microsoft seguridad boletín MS00-092, ubicado en el siguiente sitio Web:
    http://www.microsoft.com/technet/security/bulletin/ms00-092.mspx
  2. Descargue la revisión de la siguiente ubicación seleccionando el archivo apropiado para su versión de SQL Server, arquitectura de procesador e idioma:
    XP Security Downloads
  3. Para extraer los archivos, ejecute el archivo ejecutable autoextraíble que descargó. Durante el proceso de extracción, se le pedirá un directorio de destino para los archivos. Elija un directorio temporal vacío donde se van a extraer los archivos. Nota : se deben extraer ambos las Alpha y x 86 versiones de la revisión mediante la ejecución en un sistema de x 86.

  4. La revisión incluye un archivo Readme.txt que se ha detallado de instrucciones de instalación para dicho paquete en particular. Siga las instrucciones para actualizar el sistema con estos archivos.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo.

SQL Server 2000
Este problema se corrigió por primera vez en SQL Server 2000 Service Pack 1.

SQL Server 7.0
Este problema se corrigió por primera vez en SQL Server 7.0 Service Pack 4.

Más información

La lista de afectado procedimientos almacenados extendidos incluye:
  • En SQL Server 7.0:
             xp_sqlinventory
    					
  • En SQL Server 7.0 y SQL Server 2000:
             xp_sqlagent_monitor
    					
  • En SQL Server 2000 sólo:
             sp_OACreate
             sp_OAMethod
             sp_OAGetProperty
             sp_OASetProperty
             sp_OADestroy
    					
Esta revisión corrige la vulnerabilidad en todos los procedimientos almacenados extendidos enviados de Microsoft. Si otros procedimientos almacenados extendidos de otros fabricantes también están instalados en un sistema, es posible aprovechar este ataque utilizando uno de estos procedimientos si utiliza la API Servicios abiertos de datos srv_paraminfo . Si ha ampliado los procedimientos almacenados instalados por un tercero, póngase en contacto con ese proveedor para averiguar si sus procedimientos son vulnerables a este ataque.

El ataque aprovecha utilizando un búfer es demasiado pequeño para los datos que se pasa. Para determinar correctamente la longitud de datos que se pasan, primero se debe llamar a srv_paraminfo con su parámetro sexto, pbData , como NULL. La función, a continuación, devuelve la longitud real de los datos del parámetro. Un búfer de tamaño adecuado a continuación, puede asignarse y una segunda llamada puede hacerse para recuperar los datos. La función srv_paraminfo no permite especificar una longitud máxima de datos para copiar en el búfer. Para obtener más información, consulte el tema de srv_paraminfo en los libros en pantalla de SQL Server.

Propiedades

Id. de artículo: 280380 - Última revisión: miércoles, 5 de septiembre de 2007 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Data Engine 1.0
  • Microsoft SQL Server 7.0 Standard Edition
  • Service Pack 1 de Microsoft SQL Server 7.0
  • Service Pack 2 de Microsoft SQL Server 7.0
Palabras clave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB280380 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 280380

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com