Критическая уязвимость Windows 7 x64: BSOD и компрометация системы

    image

    Известный хакер webDEViL опубликовал в своем твиттере сообщение о том, что специальным образом сформированная web-страница (суть ясна из скриншота), содержащая iframe и просматриваемая браузером Safari, вызывает BSOD-ошибку в системе и позволяет злоумышленнику выполнить произвольный код на атакуемой системе.

    Наличие уязвимости обусловлено ошибкой в файле win32k.sys, который уже ранее был неоднократно отмечен в качестве виновника критических ошибок в Win XP. Успешная эксплуатация приводит к выполнению кода с привилегиями уровня ядра системы.

    Уязвимости подтверждена 64-битная версия Windows 7, однако и другие системы могут быть скомпроментированы.

    Патча на данный момент не существует.

    [Источник]

    UPD: хабрапользователь KollinZ снял видео, иллюстрирующее уязвимость.



    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 217

      +11
      Лол.
        +59
        Патсаны, расскажите, как выполнить произвольный код после БСОДа?)
          +5
          Мы исследуем причину почему Safari x64 вызывает BSOD. На данный момент такой код ловится антивирусом как Exploit:Win32/BlueFrame
            +4
            Blue Frame — офигенский синоним бсоду :)
              +1
              Blue Frame потому что в исходном сообщении говорится об эксплуатации iframe.
            +6
            В исходном сообщении сказано только о BSOD. Откуда данные про выполнение произвольного кода?

            twitter.com/#!/w3bd3vil/status/148454992989261824
              +1
              В сообщении по ссылке, которую я указал как источник.
                –1
                На secunia.com/advisories/47237 написано «Memory Corruption Vulnerability» где здесь «arbitrary code execution»?
                  +3
                  Андрей, я что-то не так понимаю или по ссылке в разделе Description (3 абзац от раздела) сказано примерно следующее:
                  Successful exploitation may allow execution of arbitrary code with kernel-mode privileges.
                    0
                    Ключевое слово «may», то есть «вероятно». Пока иного не доказано. Эксплоита способного исполнять код не обнаружено.

                    Более того сам MS еще официальных результатов исследования не опубликовал.

                    Так что рассказывать про исполнение кода пока преждевременно.
                      0
                      Скорее всего в Secunia следуют принципу лучше перебдеть, чем недобдеть. Даже если эксплойта не обнаружено, то отделам по IT-безопасности предприятий лучше готовиться к худшему. На всякий пожарный случай.
                      А Apple работает над проблемой, нет информации? Всё-таки проблема двойная. И кто в ней виноват ещё неизвестно: то ли вы кривой код Safari, работающий с библиотекой, то ли сама библиотека глючная.
                        +9
                        Софт из юзерспейса НЕ должне крашить ядро. Без вариантов.
            –3
            Всегда следует придерживаться простого правила — если что-то лезет в интернет, то оно должно обладать минимальными привелегиями.
              +32
              по-моему тут речь про дыру где-то в районе GDI, так что права приложения пофигу.

              ЗЫ Исходя из вашего тезиса, с какими правами должны работать драйвера сетевухи? Они-то в интернет лазят так, как никто другой.
                +1
                может, я не прав, но справедливости ради… сами драйвера никуда не лезут, они лишь обеспечивают работу устройства.
                  +1
                  Я помню уязвимость во всех win-модемах (dial-up): там специально сформированным запросом на айпишник можно было отправить в бсод абсолютно любую винду вне зависимости стоит там фаервол или нет.
                    0
                    Мне напомнило времена, когда из-за бага драйвера nvidia у всех владельцев сей карты вываливался бсод от:
                      0

                        0
                        Блин, парсер теги хавает =(
                        короче бсод вываливался от пнгшной картинки, растянутой на 9999999х9999999
                +25
                Ну что, кто смелый? tort8.com/static/bsod.html
                  0
                  Я спасовал. Сейчас виртуалку поставлю и посмотрю.
                    –47


                    Нечего там смотреть.
                      +29
                      Рекомендую проспаться. Ясно написано, что нужен Safari же.
                        +7
                        что-то вроде «Мы пока не научились писать вирусы, установите пожалуйста Safari и запустите его сами» :)
                        Если не научатся эксплуатировать эту дыру другим способом, можно спать спокойно — сафари на винде довольно редкий гость (кроме верстальщиков).
                          0
                          Верстальщикам он тоже не особо упал, т.к. ведет себя с хромом одинаково
                            0
                            А как же элементы форм?
                            0
                            Яблодрочеры-нищеброды, как вариант ))
                            +12
                            > Патча на данный момент не существует.
                            Существует. Любой другой браузер, же! :)
                        +73
                        Сначала спроси, кто пользуется Safari под Windows 7 x64.
                          +14
                          На Маке тоже есть проблема, Safari 5.1.2 выжрал всю доступную память и завис.
                            +3
                            хм, а у меня на 10.7 safari 5.1.2 при просмотре этой html-страницы ведёт себя нормально
                              +1
                              Safari 5.1.1 на 64-битной OS X 10.7.2 жрал-жрал память, доходило до 600 мб, но потом прыгал на 35 мб, снова до 600, снова на 35, немного грузил процессор — до 16%, потом загрузка опускалась до 0, адресная строка и строка поиска работали, на клики правой кнопкой отвечал с задержкой секунд на 10.
                                0
                                image
                                Полёт нормальный.
                                  0
                                    0
                                    Может у вас других вкладок уйма?
                                    image
                                      0
                                      Нет, открыл браузер ради этой страницы. Version 5.1.1 (7534.51.22).
                                        0
                                        Я даже попробовал у себя пооткрывать ещё страниц, все равно не растёт так масштабно. Но версия Safari у меня 5.1.2 (7534.52.7)
                                          +2
                                          Нашел зависимость. Тупит только с новыми скролбарами во Льве.
                                            0
                                            Safari 5.1.1 (7534.51.22)
                                            Лев 10.7.2, скроллбары новые — все ок
                                      +3
                                      Хорошо замазали, да:)
                                        +5
                                        А там что-то секретное? :)
                                        Я так понял, что человек замазал только для того, чтобы акцентировать внимание на нужной строчке.
                                    0
                                    Подтверждаю. На Lion сожрал больще 5 гиг и завис…
                                      0
                                      Так и не нашел проблему описанную jj_killer
                                      При этом было открыто 11 вкладок в 4-х окнах, я хз что там у Вас жрёт оперативку.
                                      Вероятно у Вас 512 оперативы на весь мак?
                                          0
                                          Процесс Safari Web Content выжирает в первые секунд 30, потом опускается до уровня 200–500 МБ и дискомфорта особо не доставляет, но я просто привык, что все работает моментально. Оперативы у меня 12 ГБ.
                                            0
                                            Нахожу сие явление в вашем случае весьма странным. Изменений в скорости работы или резкого всплеска нагрузки на что-либо я не заметил не в первые 30 секунд не в последующие 45 минут открытой страницы.
                                              0
                                              Могу предположить, что проблема в менеджере памяти и планировщики. Судя по комментариям тормозит у тех, кто открыл Сафари специально посмотреть, но у тех, кто использует его как основной все ОК. Попробуйте полностью выгрузить Сафари, сделать purge и открыть только эту страницу.
                                              0
                                              Процесс начинает жрать память если скролить сие дело с остервенением. По крайней мере к падениям и висякам как было сказано выше, на маке вся эта петрушка не приводит.
                                          –6
                                          И как вообще случился айфрейм такой высоты?
                                          –6
                                          Firefox даже не моргнул :)
                                            +6
                                            Не то, чтобы дыра будет обладать популярностью (сафари, да еще на х64), но неаккуратненько как-то.

                                              +5
                                              А чего не так с x64? Для меня сейчас редкость встретить х32, а не х64.
                                                0
                                                64 обычно стоит на новых ноутбуках и брендовых десктопах, а кто ставит сам (или кому ставят знакомые) предпочитают вроде 32. Если вообще не XP :)
                                                  +3
                                                  Ясно. У меня, просто, наобарот знакомые сносят х32, докупают оперативы и ставят х64, даде на ноутах с 4 Гигами ставят х64.
                                                    –1
                                                    Необходимости «обычному пользователю» сейчас использовать х64 я не вижу (если Firefox не компилировать с оптимизациями :) ). Софта, который бы был чисто х64, не имея 32-битной версии, не встречал. С другой стороны, использовать 32-бит на новом железе хотя бы с двумя гигами тоже особо незачем. Сам, сменив железо недавно, поставил 64-бит (правда не винду, а линукс, но не суть) — тоже проблем не вижу, даже с флэшем, с которым намучался года 3-4 назад на 64-бит линуксе.

                                                    В общем, если специальных задач не стоит, а ось предустановлена, то сносить её, имхо, чтоб изменить разрадность незачем.
                                                      +2
                                                      Ну, ради разрядности наверное не стоит, но для добавление оперативной памяти… Ну и даже, если брать аспект безопасности судя по документации:

                                                      Kernel Patch Protection: Frequently Asked Question
                                                      «Kernel patch protection in the x64-based versions of Microsoft Windows Server 2003 SP1, Microsoft Windows XP, and later versions of Microsoft Windows for x64-based systems protects code and critical structures in the Windows kernel from modification by unknown code or data. This paper answers frequently asked questions about kernel patch protection in Windows.»

                                                      Ну, и «DEP is “always on” for 64bit processes on 64bit versions of Windows and it cannot be disabled. „
                                                        +1
                                                        Другой вопрос, что 32 битная версия работает значительно медленнее, с PS CS5 это так.
                                                          +1
                                                          «если специальных задач не стоит» — фотошоп это всё таки профессиональный софт.
                                                            +1
                                                            У меня складывается впечатление, что 99.9% населения пользуются компьютерами для двух строчек в блокноте, поиграть в игрушки и посидеть вконтактике, а вечером глянуть порно.
                                                            Да, я профессионал и у меня досататочно много профессионального софта. В том числе и собственной разработки имеется. Но я лично знаю немало людей, не относящихся к ИТ профессионалам, или профессионалам другой специфики, использующих тяжелый софт, которые ставят х64 винду и получают стабильную и быструю систему.
                                                            Смысл в том, что я пока не провел собственные замеры, не думал, что и 32битный софт при условии многозадачности работает под x64 зачастую стабильнее и быстрее. Удивительно, но факт. Речь, конечно, о корректно написанном софте.
                                                              0
                                                              У меня такое же впечатление, плюс ещё игры. А многозадачность как таковая им и не нужна, раньше хоть для плеера нужна была, а теперь и музыка вконтакте есть.

                                                              Субъективно я этого не заметил после перехода на 64-бит. glxgears тоже не заметил )
                                                                0
                                                                я не субеъктивно, я с секундомером померял — у меня стояла Windows Server 2003, когда готовился переходить на Win7 поставил сначала 32 битную, протестировал свой софт, потом 64 битную, те же тесты провел. Убедился, что быстрее, или как минимум не медленнее все, что мне нужно работает, остановился на 64 битной.
                                                                  +1
                                                                  Медленнее оно и не должно быть. :) Быстрее — маловероятно. Я именно про 32хбитный софт.
                                                                    0
                                                                    на Itanium было медленнее, из-за эмуляции x86. Если бы в винде были накладные расходы для 32битных процессов, могло бы быть медленнее.
                                                                      0
                                                                      Ну итаниум — все же сильно отдельная песня, там ведь эмуляция 32хбитного кода средствами процессора шла, насколько помню. А в нынешних процессорах 64 бита — просто пристройка сбоку. :)
                                                                        0
                                                                        Да, к счастью для старых программ :) и к несчастью для новых. x86 код не самый эффективный, просто под него море наработок.
                                                                          +1
                                                                          А я то думал что современные процессоры 64-битные by design и запускают код в режиме Legacy.
                                                                  • UFO just landed and posted this here
                                                                      0
                                                                      Я имею в виду многозадачность интерфейса, а так и под досом резиденты были, которые в идле что-то могли полезное делать.
                                                              +3
                                                              DDR3 4gb сейчас стоит 500р. Имеет ли смысл ставить в новый комп меньшее количество и 32х-битную систему? Или имеет ли смысл ставить 4гб+ и терять часть ее из-за 32х-битности? Таки выходит что никуда обычному пользователю от 64 не деться.
                                                                0
                                                                Многие покупают компы готовые или берут до 4-х гигов (включительно). Вот, например, первый попавшийся из активно рекламирующегося в Питере магазина www.ric.spb.ru/shop/catalog/tovar_detail.php?code=83662 — 2 гига. Я затрудняюсь сказать, имеет ли смысл ставить на него 64-бит. По моим наблюдениям за последний месяц, как я поставил 64 бит, даже серфить там будет некомфортно, а он позиционируется как игровой. У меня сейчас только хром (вместе с флешем) жрет 2 гига.
                                                                  0
                                                                  Ну как же… DOS 6.22, Prince of Persia…
                                                                  Чем не игровая машина?
                                                                    0
                                                                    Не уверен, что DOS 6.22 на нем запустится без бубна. Где-то начиная то ли со старших (в смысле поновее) 4-х пней, то ли с SATA винтов, то ли просто с больших винтоы у DOS'а (а также вин95/98/Me) проблемы наблюдались. FreeDOS поумнее в этом отношении.
                                                                      0
                                                                      Никто не запрещает запустить с дискеты. :)
                                                                      Комп продается с линуксом, а это уже сосем игровая машина получается. Увлекательное времяпрепровождение гарантировано.
                                                                      По поводу памяти:
                                                                      — Сколько занимает винда?
                                                                      — Сколько находит — столько и занимает.
                                                                        0
                                                                        Вот именно с дискеты (тогда они еще не вымерли) и не запускалось.
                                                                          0
                                                                          Не знаю… Только что запустил 6.22 с дискеты (точнее — с виртуального FDD, эмулированного боксом Zalman VE 200)
                                                                          dl.dropbox.com/u/3894209/DSC_0111.JPG
                                                                          Машинка, сами понимаете, современная — на Core i7.
                                                                            0
                                                                            Неправильно сформулирвал не не запускалось, а не ставилось на винт, то есть вообще DOS винта не видел ни с какими опциямии BIOS
                                                                              0
                                                                              Экспериментровать не буду — разделов свободных нету, а NTFS из-под DOS недоступен. Собственно, это не отменяет возможности запуска с дискеты )
                                                                    +1
                                                                    2 гига для 64-битной мало. Убедился на своем опыте.
                                                                      –1
                                                                      2 гига даже для некоторых браузеров мало.
                                                                        –1
                                                                        Холиварное заявление ИМХО.
                                                                          –1
                                                                          640 килобайт хватит всем ^_^
                                                                          © Билл Гейтс
                                                                      0
                                                                      Работаю в vis studio. Открыто много всего — браузеры, sql-manager, скайп, icq, почта, photoshop… Занято 3гб. Всего 4гб.
                                                                      Ну и зачем больше 4-ёх?
                                                                        +3
                                                                        По работе очень часто открыто до 3-х студий, фотошоп, браузер, второстепенные программы, исполняются скрипты, и все одновременно. И если например мне захочется поиграть, я просто запускаю игру не закрывая все это. На 12 гигах оперативы все летает. Сомневаюсь что для того же хватит <=4Gb.
                                                                          +1
                                                                          А еще если пара виртуалок по 4Гб каждая… В некоторых ситуациях и так приходится извращаться.
                                                                            0
                                                                            Батлфилд 3 с виндой и браузером кушают как за здрасте 4 гига ровно. Сворачивать игру чтобы покопаться в браузере уже нельзя. А вовремя смены карт приятно ютуб посмотреть и инет почитать — чего на 4х гигах уже не сделаешь.

                                                                            А другу, например, и 8 гигов было мало для фотошопа.
                                                                              +1
                                                                              Скорость игры зависит в первую очередь от загрузки процессора. Давеча ставил батл 3-ий, так проц под 100% был занят. Если в фоне такое кол-во прог запущено как у вас, и не дай бог тормознутый флеш баннер в браузере — никак вы не поигретесь даже со 100Гб памяти. Память она только для хранения, а все операции по данными в памяти проходят через процессор. И чем больше эти объемы тем медленнее будет работать система в целом.
                                                                              0
                                                                              Если поставить больше памяти — будет и занято больше. На ноуте 4 гига, на настольной — 8. Одни и те же задачи потребляют разное количество памяти в абсолютном значении. Винда в свободном полете: на ноутбуке ест около гектара, на настольной — полтора, а то и больше.
                                                                                0
                                                                                Это с учетом свопа?
                                                                                  0
                                                                                  Я только про оперативку. Своп отключен только на ноуте. На настольной есть HDD, куда его имело смысл выбросить, а на ноуте — нет.
                                                                                  0
                                                                                  Это она делает чтобы приложения быстрей запускались и правильно делает.
                                                                                    0
                                                                                    Так память для того и ставят, чтобы она работала, а не только радовала глаз надписью «свободно 80%».
                                                                                    Комментарий был в ответ на аргумент «свободная память еще остается, зачем ставить больше?»
                                                                                0
                                                                                Тем более что 32-юитный софт отлично себе работает.
                                                                            0
                                                                            Если человек сам не разбирается то пользуясь слухами может поставить все, что угодно.
                                                                            На деле Win7x64 для многих приложений работает занчительно эффективнее чем Win7x32. В частности это касается Photoshop (для меня важно), MS Expression Media 2 и пр.
                                                                              +1
                                                                              В моём окружении всё наоборот — 64 в два раза больше 32х, значит лучше.
                                                                                0
                                                                                Осмелюсь предположить, что у вашего окружения компы в основном новые?
                                                                                  0
                                                                                  Я боюсь предпологать что такое «новый компьютер».
                                                                                  Потому как 64х разрадную систему ставили ещё с выходом Висты.
                                                                                  Сейчас эти компьютеры не особо новые.
                                                                                    0
                                                                                    Ну, Висту как раз очень многие сносили, хоть 32, хоть 64, и ставили вместо нее, как правило, XP 32.

                                                                                    А «новый», да, некорректно выразился. Скорее что-то вроде: двухядерный процессор (полный, а не урезанный), от 4 Гб мозгов. То есть околотоповый лет 5 назад и среднего бюджетного класса современные.
                                                                                0
                                                                                x64 стоит у всех, у кого 4Гб памяти и более. А это вообще не редкость нынче.
                                                                                  0
                                                                                  Есть ещё pae
                                                                                    0
                                                                                    У меня 4 ГБ и сейчас 32-битка стоит. За счёт большего потребления памяти в x64 теряется больше свободной оперативы, чем те полгига адресного пространства, которые железо в x32 на себя оттягивает.
                                                                                    А ещё у меня дров под сканер на x64 нет, приходилось в виртуалке сканировать.
                                                                                  0
                                                                                  В народ потихоньку идет с новыми компьютерами, но именно стоит пока все же больше 32хбитных ОС, чем 64хбитных.
                                                                                    0
                                                                                    Смотря кого считать. Если офисные компы — безусловно да. А вот статистика того же стима показывает, что самая популярная у геймеров (условно) ось — Windows 7 64 bit, стоящая у 42.21% (и доля растет).
                                                                                      0
                                                                                      Доля геймеров не так уж и велика, относительно общего числа компьютеров. Офисных больше. Но с тем, что 64 бита идет в народ и популярность растет — я не спорю. Достаточно глянуть количество ноутов, продаваемых с 64хбитными ОС и с 32хбитными.
                                                                                        0
                                                                                        Все-таки не стоит забывать, что стим скорее пристанище «хардкор» геймеров, чем школьников, которым родители на 1-е сентября купили б/у комп, который-то на момент выпуска 5 лет назад был бюджетным. Я согласен, что на мощное железо с мозгами от 4 Гб ставить 32-бит ось сейчас особого смысла нет. Но ещё пару лет назад были проблемы и у 64-бит осей с выполнением 32-бит приложений, и с разработкой 64-бит приложений (включая драйвера). Сейчас, видимо, и писать стали лучше, и оси более совместимые.
                                                                                      0
                                                                                      А каков смысл ставить 64, если памяти меньше 4 гиг?
                                                                                      64 версия винды, да и любое приложение, кушают больше памяти (почти в 2 раза) чем 32-битная версия.
                                                                                      В итоге, запуская свои любимые программы на 64 винде память будет расходоваться больше.
                                                                                        0
                                                                                        Как я уже ответил выше (Мой комментарий), теоретически х64 безопаснее.
                                                                                          0
                                                                                          Хотя бы чтобы в будущем поставить 8 гигов и не обломаться. Уже есть не мало приложений и игр, коим мало 4-х гигов.

                                                                                          А еще не забывайте, что в Win 7 32 для одного приложения отведено лишь 2 гига памяти (что правда исправляется одной консольной командой).
                                                                                            +1
                                                                                            Одной командой исправляется только лимит. Чтобы приложение могло занимать больше 2х Гб оно еще должно быть слинковано с /LARGEADDRESSAWARE (это в студии). По умолчанию эта опция выключена. Да и не дает консольная комманда 4Гб в большинстве случаев (у меня на ноуте, например, 3 — потолок)
                                                                                              0
                                                                                              не знал про компиляцию с поддержкой этой фичи.
                                                                                              Просто для Battlefield 3 нужно было это значение включать, чтобы игра не вылетала.
                                                                                                0
                                                                                                На 32битной системе /LARGEADDRESSAWARE дает 3 гига, на 64битной 32битным приложениям — 4.
                                                                                                  0
                                                                                                  я имел в виду, что даже если у вас в компьютере 4Гб память, но винда х32, то, скорее всего, доступно будет что-то около 3х Гб памяти (все остальное адресное пространство зарезервировано железом)
                                                                                                    0
                                                                                                    Причем здесь /LARGEADDRESSAWARE вообще? Это опция про адресное пространство виртуальной памяти, а железо не может отожрать кусок адресного пространства виртуальной памяти, только физической.
                                                                                        0
                                                                                        Не работает! Вернее работает и ничего не вылетает :(
                                                                                        (Safari 5.0.5 @ Win 7 x64)
                                                                                        0
                                                                                        Вариант для тех кто спасовал, но ооочень интересно pix.am/HexU/
                                                                                          0
                                                                                          Запустил в Safari… скриншот сделать не успел)
                                                                                          По этому хром.
                                                                                          +1
                                                                                          да, действительно словил:

                                                                                          image
                                                                                            +1
                                                                                            Ушел в BSOD, Chrome 16, Win 7 x32 o_O
                                                                                              +1
                                                                                              Попробовал — работает, качественный такой BSOD)
                                                                                              Safari 5.1.2, Windows 7 64-bit
                                                                                                +2
                                                                                                Видео bsod'а: youtu.be/Vf2mKyltOoM
                                                                                                  0
                                                                                                  Зашел через Safari под Mac OS X. Естественно, никакого BSoD, однако сам браузер подвис на несколько секунд :]
                                                                                                    0
                                                                                                    Под Бубунтой полет нормальный )))))
                                                                                                    +37
                                                                                                    > web-страница [...] содержащая iframe и просматриваемая браузером Safari [...] подтверждена 64-битная версия Windows 7

                                                                                                    ОМГ, 99% компьютеров под угрозой.
                                                                                                      0
                                                                                                      Так как сафари входит в стандартный комплект поставки WIN764? =)
                                                                                                        +21
                                                                                                        «Пацаны, не открывайте — там вирус. Пишу с калькулятора» )
                                                                                                        • UFO just landed and posted this here
                                                                                                            +4
                                                                                                            Брат жив?
                                                                                                              0
                                                                                                              ладно брат, кот, кот жив?
                                                                                                          +3
                                                                                                          не очень понятно как эту уязвимость можно эксплуатировать. Ведь там только цифры, как туда еще и впихнуть вредоносный код? парсер браузера же не пропустит.
                                                                                                            –1
                                                                                                            а по делу?
                                                                                                              +5
                                                                                                              Всегда найдутся те, кто смогут «впихнуть невпихуемое».
                                                                                                              +1
                                                                                                              Параллельно помимо этой статьи была открыта еще статья про хранение паролей в Chrome. Каково же было моё удивление по возвращению, как я думал, на эту статью, когда я увидел этот комментарий от skive!
                                                                                                                +11
                                                                                                                Всегда было интересно как находят подобные уязвимости? А именно, почему 18082563, а не 18082564?
                                                                                                                  +1
                                                                                                                  ты сломал мой браузер!
                                                                                                                    +5
                                                                                                                    –42
                                                                                                                    Спокойно.
                                                                                                                    Даня, ты просто прокручиваешь этот пост дальше.
                                                                                                                    Тебе завтра к 1й паре, а лаба по ТОЭ еще не досчитана.
                                                                                                                    Прокручиваешь, я сказа…
                                                                                                                      –9
                                                                                                                      Большое спасибо за минусы!

                                                                                                                      А в следующий раз я все же прокручу такой пост дальше.
                                                                                                                      Товарищ WebDevil не соврал :)
                                                                                                                        0
                                                                                                                        это вы к чему?
                                                                                                                      +1
                                                                                                                      >и позволяет злоумышленнику выполнить произвольный код на атакуемой системе

                                                                                                                      Об исполнении какого именно кода идет речь?
                                                                                                                        +13
                                                                                                                        В данном конкретном случае — вымышленного. За уши притянуты все грехи win32k.sys. Об адекватности автора всё ясно говорит слово «компроментация» в заголовке и общеапокалиптичное настроение всей новости.
                                                                                                                          +8
                                                                                                                          Ага, особенно учитывая, что DoSится в том числе и Safari on MacOSX. Но уязвимость все равно в Windows 7 x64 и ни в коем случае не в Safari.
                                                                                                                            +1
                                                                                                                            Если бы Сафари падал в одиночку, про винду бы никто ни слова не сказал.
                                                                                                                              +6
                                                                                                                              Ошибка в Safari может привести к краху системы. Существуют сотни и тысячи программ, способных из под администратора привести к краху системы — драйверы, программы криво работающие с оборудованием и т.д.. Теоретически программу, убивающую систему, можно сделать и в Linux, и в MacOs. Я случайно кривыми ручками делал кернел паник в линуксе под dingoo a320 (вернее не я а мои программы на си). Ошибку в коде можно совершить везде, просто тут ошибка серьёзнее, на низком уровне общения с графической системой.
                                                                                                                                +1
                                                                                                                                не пишите, пожалуйста о том, в чем не разбираетесь, судя по этому комментарию и куче ваших комментариев ниже. Сафари, работающее от пользователя, вызывает крах системы — значит там есть код, который вызывает данный крах, по сути эксплуатирует уязвимость в операционной системе в некоторых условиях. Изучить эту уязвимость — и её можно найти в тысячах других программ под Windows и использовать для DoS'а системы или даже (возможно) выполнения произвольного кода. Разграничение прав на доступ к ресурсам — одна из задач операционной системы. Сафари в данном случае очень сбоку прилеплено, код в сафари может быть и даже скорее всего абсолютно правильный и корректный, но система обрабатывает его неправильно, что создает её уязвимость и вызывает крах.
                                                                                                                          +2
                                                                                                                          злоумышленники могут выполнить джаваскрипт-код, которым показать перед синим экраном очень обидный alert
                                                                                                                          0
                                                                                                                          Интересно, как тот хакер этот прикол нашел? Вряд ли перебором всех возможных высот фрейма и проверкой во всех браузерах на всех системах… В сафари открытый код только у движка, но с хромом не валится. В памяти копался и закономерности искал? Вобщем, я в шоке.
                                                                                                                            +4
                                                                                                                            вебкит хрома и вебкит сафари это не одно и тоже.
                                                                                                                            +5
                                                                                                                            Автор объясняет, почему так происходит:
                                                                                                                            > It's the NtGdiDrawStream which is being called multiple times...leading to a not so interesting crash.
                                                                                                                              +7
                                                                                                                              Я бы перименовал заголовок в «Критическая уязвимость Safari: BSOD и компроментация системы»
                                                                                                                                +1
                                                                                                                                способность приложения вызвать BSOD это не уязвимость Safari ниразу
                                                                                                                                  +2
                                                                                                                                  Утверждаете, что невозможно написать кривое ПО, вызывающее BSOD?
                                                                                                                                    +2
                                                                                                                                    возможно != должно быть возможно.

                                                                                                                                    По идее ни одна софтина не должна быть в состоянии вызывать аварийный останов системы. Если она способна — в системе где-то уязвимость. Серьезная. Позволяющая, фактически DOS атаку.

                                                                                                                                    Представьте, что подобные «ошибки» есть в нескольких софтинах, включая системы виртуализации. А потом Вяся Пупкин тыкает по ссылочке с хабра на виртуальном десктопе в облаке Amazon вырубая все облако. Вы и тогда скажете, что это проблема Safari?
                                                                                                                                      –6
                                                                                                                                      DoS-атака (от англ. Denial of Service, отказ в обслуживании) — атака на компьютерную систему с целью довести её до отказа, то есть, до такого состояния, что правомочные пользователи системы не могут получить доступ к предоставляемым системой ресурсам (серверам, сервисам), либо этот доступ затруднён.
                                                                                                                                      Под MacOS этот доступ затруднён — DOS налицо. При чём тут Windows?
                                                                                                                                      Как я уже говорил, существуют фрагменты кода, способные вызвать BSOD под Windows, и cernel panic под Linux. Если этот фрагмент кода поместить в код Safari — ничего не изменится — ПО будет вызывать ошибки. Это не проблема операционной системы.

                                                                                                                                      Представьте, что Вяся Пупкин запуслил несколько вирусов, напрямую, двойным кликомпо файлам, в облаке Amazin. Его виртуальный комп повис и перезагрузился. Это опять не ошибка системы, её попросил так сделать машинный код.
                                                                                                                                        +1
                                                                                                                                        Если падает браузер — проблема в браузере. Если падает система — проблема в системе.
                                                                                                                                          –3
                                                                                                                                          Если в ПО есть код, роняющий систему (а такой код, повторюсь в третий раз, написать возможно под любой системой), это проблема кода, вернее проблема наличия такого кода именно в ПО.
                                                                                                                                          Это подтверждает действие такого кода под MacOS.
                                                                                                                                            0
                                                                                                                                            У меня под OS X всё работает, память не жрёт.
                                                                                                                                              –1
                                                                                                                                              У меня под Windows тоже. Однако проблема есть.
                                                                                                                                              +5
                                                                                                                                              Если код, запущенный с привилегиями обычного пользователя способен уронить систему (BSOD, kernel panic и т.п.), это проблема системы. Теоретическую возможность написания такого кода конечно никто не отрицает. Но любой подобный опубликованный код всегда вызывает внимание разработчиков ОС. И если проблема не в каком-нибудь криво написанном драйвере сторонних разработчиков, а именно в ОС, то как правило появляется исправление.
                                                                                                                                              • UFO just landed and posted this here
                                                                                                                                                  0
                                                                                                                                                  У меня другая статистика личная. Кто на XP — те под админом, кто на 7 или Линукс — обычный пользователь (+UAC или sudo). Но доля 7-ки и Линукса растет.
                                                                                                                                            0
                                                                                                                                            Причем здесь MacOS?

                                                                                                                                            Имеем Windows с Safari. Заведя пользователя на специально сформированную страницу вызываем отказ системы (BSOD Windows).
                                                                                                                                            Натуральная DoS.

                                                                                                                                            Не должно существовать фрагметов кода, вызывающих BSoD под win или panic под линем.

                                                                                                                                            Если бы непривелигированный пользователь под линуксом мог вызывать panic всей системы, миллионы школьников уже валили бы большу часть шаред хостинга не использующего виртуализацию.
                                                                                                                                              0
                                                                                                                                              MacOS при том, что она тоже подвержена той же уязвимости, просто результат немного отличается.
                                                                                                                                                0
                                                                                                                                                MacOS не подверженна данной уязвмиости. Я только что спокойно открыл в Safari приведенную выше ссылку и спокойно закрыл Safari. Да safari страл жрать ресурсы, однако система (и другие пользователи системы) продолжили работу.

                                                                                                                                                Watchdog'и используемые на многопользовательских системах быстро прибили бы такой процесс.

                                                                                                                                                Поведение Win отличается в корне — полный крах.
                                                                                                                                                  0
                                                                                                                                                  Ваша MacOS не подвержена. Моя Windows тоже. Я тоже открыл в Safari страницу и спокойно её закрыл. О чём тут вообще может быть речь?
                                                                                                                                                    0
                                                                                                                                                    Т.е. по вашему если падает MacOS — то она подверженна уязвимости. А если Windows, то это «Критическая уязвимость Safari»?
                                                                                                                                                      0
                                                                                                                                                      О неееет конечно. Это именно по Вашему — я про уязвимость систем молчу. Я говорю про браузер. Я то понимаю, что если ошибка проявляется под двумя системами — это ошибка ПО.
                                                                                                                                                        +1
                                                                                                                                                        Ошибка ПО есть, ее никто не отрицает. Только вот разница между отъеданием памяти и BSOD это как между падением частного самолета и двумя лайнерами в башнях ВТЦ.

                                                                                                                                                        Естественно, что при одновременном появлении проблем заголовок — наиболее важная.
                                                                                                                                                          +3
                                                                                                                                                          Заметьте, в Win7x32 ничего не падает и никакую память не съедает. По вашей логике Win7x32 надежнее макоси и x64?!
                                                                                                                                                            0
                                                                                                                                                            Ну в Win7x32 просто нету конкретно этого бага. Наверняка есть другие.
                                                                                                                                                0
                                                                                                                                                Однако такие фрагменты кода существуют. Сабж — тому доказательство. Если нет возможности общаться с оборудованием на низком уровне, драйверы просто не будут работать. А такое общение подразумевает возможность устроить BSOD основанный на ошибку в железе.
                                                                                                                                                  0
                                                                                                                                                  Мы сейчас о юзерспейс уровне приложений говорим, или о драйверах?

                                                                                                                                                  Код, способный вызвать cernel panic на любой системе — это urgent issue в багтрекере данной системы, вне зависимости от того, какое приложение его вызвало.
                                                                                                                                              0
                                                                                                                                              rundll32 user,disableoemlayer разумеется тоже уязвимость (ибо возможно, более того, должно быть возможно, оставлено нарочно).
                                                                                                                                                0
                                                                                                                                                В этом случае, вызвавший пользователь останется без средств ввода-вывода информации. Windows, включая удаленных пользователей продолжит работу.
                                                                                                                                                • UFO just landed and posted this here
                                                                                                                                                  –1
                                                                                                                                                  Программы всегда могут крашить то, к чему имеют доступ. Едва ли вы согласитесь использовать браузер, который будет тормозить, из-за того что работает в какой-то виртмашине или написан на .NET или JAVA (что по сути обозначает то же самое.
                                                                                                                                                  Внося дополнительную прослойку мы всегда тормозим процесс и тут приходится находить баланс между безопасностью и скоростью и удобством работы.
                                                                                                                                                  А так, давайте запретим выполнение всех программ написаны на ассемблере(драйвера и прочее) ведь им ещё проще закрашить систему.
                                                                                                                                                  По мне так правильнее аккуратнее тестировать код. особенно когда сбоит не на одной системе, как сказано выше
                                                                                                                                                    0
                                                                                                                                                    Вы сейчас заете способы закрашить аутаульный RHEL6 из юзерспейса, если я дам вам доступ?
                                                                                                                                                      –4
                                                                                                                                                      Я не хакер и даже не рядом. но у меня есть большое подозрение, что закрашить юзерспейс или по крайней мере гуйню подвесить там можно. Я так понимаю там есть какой-то супервизор, который это незаметно для вас отработает(должен отработать) и все будет ок. Но вот не всегда есть супервизор, к сожалению. И не всегда разумно его туда вклинивать.
                                                                                                                                                      А если вы его вклинили и дали сторонним разработчикам до него доступ, не удивляйтесь, если они этот супервизор уронят
                                                                                                                                                        0
                                                                                                                                                        Даже между закрашить юзерспейс одного пользователя и закрашить всю систему — это большая разница.

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

                                                                                                                                                        Или это был-бы отличный метод DOS атаки, купил хостинг на том-же сервере и кильнул систему. ахахаха.
                                                                                                                                                          –2
                                                                                                                                                          весь вопрос, до куда вы разрешили дотянутся конкретной проге.
                                                                                                                                                            –1
                                                                                                                                                            А у вас на shared hosting под RHEL пользователи запускают в своих окружениях Safari? Если нет то тогда к чему вы этот пример привели?

                                                                                                                                                            А локальных и удаленных DOS атак и эскалаций привилегий вплоть до root можно и для RHEL найти пачку. Например вот такой

                                                                                                                                                            Red Hat has updated libxfont (privilege escalation). lwn.net/Articles/472847/

                                                                                                                                                            bugzilla.redhat.com/show_bug.cgi?id=555658

                                                                                                                                                            bugzilla.redhat.com/show_bug.cgi?id=754398

                                                                                                                                                            Перед написанием комментариев крайне рекомендуется изучать Red Hat Bugzilla тогда иллизии в неуязвимости любой версии любого ПО от RedHat отпадут сами собой.
                                                                                                                                                              +1
                                                                                                                                                              Если есть кусок кода, вызывающий DoS, какая разница из какой аппликухи оно вызвано?

                                                                                                                                                              Ваши ссылки это ответ на вопрос: «Вы сейчас заете способы закрашить аутаульный RHEL6 из юзерспейса»?

                                                                                                                                                              Ключевое слово — актуальный.

                                                                                                                                                              RHEL приведен в качестве примера организации, затыкающей дырки быстрее, чем новость о них постят на хабре и школьники начинают веселуху.
                                                                                                                                                                0
                                                                                                                                                                «RHEL приведен в качестве примера организации, затыкающей дырки быстрее, чем новость о них постят на хабре и школьники начинают веселуху. „

                                                                                                                                                                То есть вы хотите сказать что full disclousure у Red Hat ни разу не случался?

                                                                                                                                                +1
                                                                                                                                                Исполнение кода в режиме ядра — баг Safari? У тебя неправильные приоритеты. Safari может быть вообще не причем в этой ситуации, хотя это не факт конечно, я особо не разбирался.
                                                                                                                                                0
                                                                                                                                                Резюмируя: Safari пытается вывести на экран невозможное, а дальше уже зависит от ОС. Как писали выше: OS X тормозит, а Win 7 x64 падает. Виноваты все!
                                                                                                                                                  +3
                                                                                                                                                  А как другие браузеры выводят «невозможное»?
                                                                                                                                                    +2
                                                                                                                                                    На OSX виноват Сафри, он не использует системные скролбары, а рисует сам (это видно по отсутствию размытия под ними). Как я написал выше, проблема именно в скролбарах. Под Виндой виновата Винда, потому что код из юзерспейса не должен приводить к краху.
                                                                                                                                                    +1
                                                                                                                                                    Мне интересно, как находят такие дыры? Неужели просто случайность?
                                                                                                                                                      +1
                                                                                                                                                      Сразу вспомнилось как в своё время можно было вызвать BSoD в Win98 атрибутом bg со значением con\con :)
                                                                                                                                                        0
                                                                                                                                                        а теперь интересно как скоро будет патч от мелкософта? ))
                                                                                                                                                        так то проверил, мне сокрушил систему данный фрейм…
                                                                                                                                                          0
                                                                                                                                                          И всё таки мне кажется, что патч будет и от Apple, и в первую очередь. Иначе под макосями так и будет память жрать.
                                                                                                                                                            0
                                                                                                                                                            только что проверял — не жрет ничего
                                                                                                                                                              +1
                                                                                                                                                              Мда. Как бы так объяснить уже в третий раз.
                                                                                                                                                              У меня под Windows тоже ничего не происходит, однако это не отменяет того, что некоторые связки MacOS+Safari+64 битное железо подвержены этому эффекту.
                                                                                                                                                              У всех Макоси разные, и сафари разные, у некоторых процессор 32х битный. Понятно, что не у всех воспроизведётся. Я понимаю, у многих маков железо схожее, и системы похожие, но версии то ПО разные. Если у Вас не воспроизводится — не значит, что проблемы как таковой нет.
                                                                                                                                                            0
                                                                                                                                                            Сейчас небось все подсознательно ожидают скриншот BSOD-а увидеть.
                                                                                                                                                              0
                                                                                                                                                              Если честно — не совсем понимаю, что значит следующее:
                                                                                                                                                              «выбрано 88 браузеров, 38 загружено, 1 неудачно, 49 устаревших»

                                                                                                                                                              Правильно ли я понимаю, что этот 1 неудачно никак не связан с BSOD?
                                                                                                                                                                0
                                                                                                                                                                Причина может быть любой, не обязательно BSOD.
                                                                                                                                                                +2
                                                                                                                                                              0
                                                                                                                                                              Подвержены атаке только версии Сафари с 5.1. На 5.0 не воспроизводиться.
                                                                                                                                                                –1
                                                                                                                                                                Это все Сафари виноват, а Винда и так дырявая.
                                                                                                                                                                  –7
                                                                                                                                                                  Неужели никто не сказал ещё этого слова?
                                                                                                                                                                    0
                                                                                                                                                                    Ладно, в комментариях, но в заголовке и тегах писать «x64» вместо x86-64 — это, мягко говоря, странно. Скажите, вы ведь думаете, что x86 — это восьмидесятишестибитная архитектура, да? %)
                                                                                                                                                                      0
                                                                                                                                                                      Ой. Кажется, я перегнул с запятыми спросонья.
                                                                                                                                                                        +7
                                                                                                                                                                        Windows 7 x64 — название, данное системе её разработчиками. Поскольку речь идёт о конкретной системе, логичнее придерживаться именно его, а не общего названия архитектуры как таковой.
                                                                                                                                                                          0
                                                                                                                                                                          Да, пожалуй, вы правы. Обвинения в безграмотности стоит направлять прямо в Microsoft.
                                                                                                                                                                        +3
                                                                                                                                                                        Интересно, вот тут в комментах много пишут что опасность вымышленная и маловероятная, так как необходим Сафари.

                                                                                                                                                                        А кто может гарантировать что эту ошибку нельзя повторить с помощью какой то другой программы — ведь действительно проблема где-то в ОС, раз какой-то особенный код сафари может закрешить.

                                                                                                                                                                        Просто на Сафари было легче всего найти, где еще… кто знает.

                                                                                                                                                                        Плохо что патча пока нет.
                                                                                                                                                                          +4
                                                                                                                                                                          Попробовал. Работает! :)
                                                                                                                                                                            –4
                                                                                                                                                                            В винде есть извесная проблема с GDI, каждая система имеет лимит примерно 15000 GDI объектов, при их исчерпании виндовз не сможет даже message box показать. Я так подозреваю проблема как раз этого плана. Простого решения эта проблема не имеет, потому что даже в Linux єсть ограничения на количество сокетов, открытых файлов.
                                                                                                                                                                              0
                                                                                                                                                                              єсть ограничения на количество сокетов, открытых файлов.
                                                                                                                                                                              установленное как дефайн в исходном коде, который всем доступен
                                                                                                                                                                                0
                                                                                                                                                                                Ну поднимете вы этот лимит, если будет запущен софт который любой лимит исспользует, что у вас получится? Вас хост перестанет отвечать.
                                                                                                                                                                                  0
                                                                                                                                                                                  Вас хост перестанет отвечать.
                                                                                                                                                                                  не перестаёт, представьте себе. просто какому-то процессу будет отказано в предоставлении ресурса при очередной попытке его получения, вот и всё
                                                                                                                                                                                +1
                                                                                                                                                                                Есть общий лимит на систему, и есть лимит на приложение. Исчерпания лимита файловых дескрипторов для одного приложения не означает исчерпание файловых дескрипторов для всей системы.
                                                                                                                                                                                +1
                                                                                                                                                                                Зачем искать какого-то конкретного пользователя? Если уязвимостью научаться пользоваться, то добавят в паки скриптов и все… будут «перебираться» скрипты, пока не пробьется какая-то уязвимость.
                                                                                                                                                                                  +1
                                                                                                                                                                                  Меня всегда веселило, когда люди, которые мало понимают в эксплуатации уязвимостей ядра NT — пишут такие посты.
                                                                                                                                                                                  BSOD != Arbitrary Code Execution
                                                                                                                                                                                  стабильный rce exploit врядли кто-то выложит в паблик, так как достаточно сложно написать стабильный эксплоит, но возможно.
                                                                                                                                                                                  Уязвимость связана с системным вызовов NtGdiDrawStream — который используется Safari.
                                                                                                                                                                                  И для справки, уязвимость старая, proof:https://bugzilla.mozilla.org/show_bug.cgi?id=320430
                                                                                                                                                                                    –1
                                                                                                                                                                                    Хотел было сказать что виндовс как всегда на высоте, но тут и криворукость эппл сыграла. Но одно дело браузер, а другое операционка. К сожалению менеджмент Балмера крут и люди вынуждены в большинстве своём терпеть эту пакОСь.
                                                                                                                                                                                      +2
                                                                                                                                                                                      А вот и детальный анализ от Alex Ionescu:
                                                                                                                                                                                      The bug happens due to a NineGrid request coming through GdiDrawStream sent on behalf of the UX Theme DLL which handles Windows Themes starting in XP and later.

                                                                                                                                                                                      Webkit browsers (along with IE8 — but not IE9, it would seem) attempt to render HTML elements on the page using the native skin of the OS. In this case, in the drawControl function (see www.opensource.apple.com/source/WebCore/WebCore-658.28/rendering/RenderThemeWin.cpp), DrawThemeBackground is called, which handles skinning of OS controls.

                                                                                                                                                                                      A 96 (0x60) byte buffer is sent (parameter 2 and 3 of GdiDrawStream are the size and buffer address, parameter 1 is the HDC).

                                                                                                                                                                                      Draw Steam buffers begin with a magic value, followed by a series of commands identified by a 32-byte market. Here is the stream sent with the special iframe when viewed in Safari:

                                                                                                                                                                                      44727753 = 'DrwS' = DrawStream Magic

                                                                                                                                                                                      Command Buffers:

                                                                                                                                                                                      #0: 00000000 3b01017a // Destination DC (hdc) *** Must match HDC in GdiDrawStream argument 1 ***
                                                                                                                                                                                      // Destination Clip (ERECTL):
                                                                                                                                                                                      0000011b // Left
                                                                                                                                                                                      00000011 // Top
                                                                                                                                                                                      0000012c // Right
                                                                                                                                                                                      0089f580 // Bottom *** Multiply by 2, and you get the «magic» value used in the iframe PoC ***
                                                                                                                                                                                      #1: 00000001 058506a3 // Source Surface (pso) *** Dumped the surface from kernel mode, got a 13x5 32BPP bitmap which is the Luna/Aero scrollbar slider control ***
                                                                                                                                                                                      #2: 00000009 // Destination Clip (ERECTL): *** Should match the Destination Clip of the Target
                                                                                                                                                                                      0000011b // Left
                                                                                                                                                                                      00000011 // Top
                                                                                                                                                                                      0000012c // Right
                                                                                                                                                                                      0089f580 // Bottom
                                                                                                                                                                                      // Source Clip (ERECTL): *** Should be within the bounds of the surface (which is 13x5 in this case)
                                                                                                                                                                                      00000000 // Left
                                                                                                                                                                                      00000000 // Top
                                                                                                                                                                                      0000000e // Right
                                                                                                                                                                                      00000001 // Bottom
                                                                                                                                                                                      // NINEGRID_BITMAP_INFO *** Documented in RDP docs. Should fit within the surface and destination.
                                                                                                                                                                                      00000001 // Flags (DSDNG_STRETCH)
                                                                                                                                                                                      0000000a // Left Width
                                                                                                                                                                                      00000003 // Right Width
                                                                                                                                                                                      00000000 // Top Height
                                                                                                                                                                                      00000000 // Bottom Height
                                                                                                                                                                                      00000000 // Transparent

                                                                                                                                                                                      Here is the raw dump:

                                                                                                                                                                                      0: kd> dds @r8 l18
                                                                                                                                                                                      00000000`003be664 44727753
                                                                                                                                                                                      00000000`003be668 00000000
                                                                                                                                                                                      00000000`003be66c 2b0108d5 // HDC, this will change from dump to dump
                                                                                                                                                                                      00000000`003be670 0000011b
                                                                                                                                                                                      00000000`003be674 00000011
                                                                                                                                                                                      00000000`003be678 0000012c
                                                                                                                                                                                      00000000`003be67c 0089f580
                                                                                                                                                                                      00000000`003be680 00000001
                                                                                                                                                                                      00000000`003be684 018503c2 // Bitmap Surface, this will change from dump to dump
                                                                                                                                                                                      00000000`003be688 00000009
                                                                                                                                                                                      00000000`003be68c 0000011b
                                                                                                                                                                                      00000000`003be690 00000011
                                                                                                                                                                                      00000000`003be694 0000012c
                                                                                                                                                                                      00000000`003be698 0089f580
                                                                                                                                                                                      00000000`003be69c 00000000
                                                                                                                                                                                      00000000`003be6a0 00000000
                                                                                                                                                                                      00000000`003be6a4 0000000e
                                                                                                                                                                                      00000000`003be6a8 00000001
                                                                                                                                                                                      00000000`003be6ac 00000001
                                                                                                                                                                                      00000000`003be6b0 0000000a
                                                                                                                                                                                      00000000`003be6b4 00000003
                                                                                                                                                                                      00000000`003be6b8 00000000
                                                                                                                                                                                      00000000`003be6bc 00000000
                                                                                                                                                                                      00000000`003be6c0 00000000

                                                                                                                                                                                      What are you essentially seeing is an iframe that has a particularly interesting height, that when the scrollbar is being drawn and themed, a math error in the NineGrid transform causes an out-of-bounds write. This PoC would work in IE 8, but IE 8 has a well known CSS bug where it has a maximum pixel limit (around 1342177), which is why it doesn't immediately manifest itself.

                                                                                                                                                                                      *OTHER HEIGHTS ARE EXPLOITABLE*, and some may be small enough such that even IE 8 hits the NineGrid height corner case.

                                                                                                                                                                                      IE9 does not seem to theme controls using UxTheme at all, and its scrollbar behavior is different from IE 8, so even though the pixel limit is no longer there, the PoC did not work. Firefox was not tested.

                                                                                                                                                                                      *NOT ONLY IFRAMES ARE VULNERABLE*. Testing with an HTML of the same height resulted in a crash in Safari as well.

                                                                                                                                                                                      What this means is that *any* client, local or remote, that does skinning of the controls (i.e.: almost all of them — even a button on a flash PDF) could result in a NineGrid transform that hits this bug. It's not at all specific to WebKit.
                                                                                                                                                                                        0
                                                                                                                                                                                        Привет из восьмёрочки. (Курсор остался, но двигать им нельзя.)

                                                                                                                                                                                        image

                                                                                                                                                                                        Only users with full accounts can post comments. Log in, please.