Исправление: Буфер переполнение злонамеренного можно с помощью расширенных хранимых процедур

Переводы статьи Переводы статьи
Код статьи: 280380 - Vizualiza?i produsele pentru care se aplic? acest articol.
ОШИБКА #: 100932 (SQLBUG_70)
ОШИБКА #: 100936 (SQLBUG_70)
ОШИБКА #: 101013 (SQLBUG_70)
BUG #: 351188 (SHILOH_bugs)
BUG #: 351189 (SHILOH_bugs)
Развернуть все | Свернуть все

В этой статье

Проблема

Дефект в несколько расширенных хранимых процедур, поставляемых с SQL Server может предоставить буфер памяти, выделенной в стеке для перезаписи произвольных данных, возможно, что позволяет злоумышленнику запустить произвольный код в пространстве процесса SQL Server. Произвольный код может использоваться для целей, так же просто, как завершение работы сервера в создании другой процесс, который может использоваться для управления сервером.

Причина

надписьюsrv_paraminfoфункция используется для копирования данных, переданных вызывающей стороной в буфер памяти, выделенной с расширенной хранимой процедуры (вызываемая сторона). Если вызываемый выделить этот буфер, в стеке и данные, передаваемые расширенной хранимой процедуры, больше, чем выделенное поле, оставшиеся данные могут быть скопированы в стек, потенциально перезапись обратный адрес, который выполняется, когда функция возвращает. Внимательно, создав буфер с нужной информации, произвольный инструкции могут быть помещаются в памяти сервера и может выполняться.

Решение

SQL Server 2000

Чтобы решить эту проблему, получите последний пакет обновления для Microsoft SQL Server 2000. Дополнительные сведения см. в следующей статье базы знаний Майкрософт::
290211INF: Как получить последний пакет обновления для SQL Server 2000
Примечание.: Указанное ниже исправление был создан до появления SQL Server 2000 с пакетом обновления 1.

Для SQL Server 2000, английская версия данного исправления должны иметь следующие атрибуты файлов или более поздней версии.
   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:

Чтобы устранить эту проблему, получите последний пакет обновления для Microsoft SQL Server 7.0. Дополнительные сведения см. в следующей статье базы знаний Майкрософт::
301511INF: Как получить последний пакет обновления для SQL Server 7.0
Примечание.: Указанное ниже исправление был создан до появления SQL Server 7.0 с пакетом обновления 4.

Английская версия данного исправления содержит версии файлов, приведенные в следующей таблице или более поздние.:
   Version      File name
   ------------------------

   7.00.0918    Xprepl.dll
   7.00.0918    Xpstar.dll
   7.00.0918    Replres.dll
				
Примечание.: Из-за зависимостей между файлами последние исправления или компонент, содержащий файлы предыдущей может также содержать дополнительные файлы. Чтобы установить исправление, выполните следующие действия:
  1. Чтение Microsoft Security по MS00-092, находятся на следующих веб-узле:
    http://www.Microsoft.com/TechNet/Security/Bulletin/MS00-092.mspx
  2. Загрузите исправление из следующей папки, выбрав соответствующий файл для версии SQL Server, архитектура процессора и языка.
    Загружаемые файлы для системы безопасности XP
  3. Чтобы извлечь файлы, запустите загруженный самораспаковывающийся исполняемый файл. В процессе извлечения приглашение для целевой папки для файлов. Выберите пустой временный каталог в который необходимо извлечь файлы.Примечание.: При выполнении в системе с архитектурой x 86-разрядных должны извлекаться как альфа- и x 86 версии исправления.

  4. Исправление входит файл Readme.txt, который подробные инструкции по установке для этого конкретного пакета. Следуйте этим инструкциям по обновлению системы с этими файлами.

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в начале данной статьи..

SQL Server 2000
Впервые эта проблема была исправлена в SQL Server 2000 с пакетом обновления 1 (SP1).

SQL Server 7.0:
Впервые эта проблема была исправлена в SQL Server 7.0 с пакетом обновления 4 (SP4).

Дополнительная информация

Ниже список соответствующих расширенных хранимых процедур.
  • В SQL Server 7.0.
             xp_sqlinventory
    					
  • В SQL Server 7.0 и SQL Server 2000:
             xp_sqlagent_monitor
    					
  • В SQL Server 2000 только:
             sp_OACreate
             sp_OAMethod
             sp_OAGetProperty
             sp_OASetProperty
             sp_OADestroy
    					
Это исправление устраняет уязвимость в все поставляемые с Microsoft расширенные хранимые процедуры. Если другие третьей стороной, расширенные хранимые процедуры также установлены в системе, можно воспользоваться этой уязвимостью с помощью одного из этих процедур при использовании Прикладного служб данныхsrv_paraminfo. Если расширенных хранимых процедур, которые установлены с третьей стороне, обратитесь к поставщику, чтобы узнать, если их процедуры уязвимы для атак.

Воспользоваться преимущества использования буфера, слишком мал для передаваемых данных. Чтобы проверить, правильно длину данных, передаваемых, вызовsrv_paraminfoс его шестого параметраpbData, как NULL. Затем функция возвращает фактическая длина данных параметра. Размера буфера может быть выделен, а второй вызов можно сделать для извлечения данных. надписьюsrv_paraminfoфункция не позволяет указать максимальную длину данных, чтобы скопировать в буфер. Для получения дополнительных сведений обратитесь кsrv_paraminfoраздел документации по SQL Server.

Свойства

Код статьи: 280380 - Последний отзыв: 21 ноября 2010 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Ключевые слова: 
kbbug kbfix kbsqlserv2000sp1fix kbmt KB280380 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:280380

Отправить отзыв

 

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