The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Крах Chrome при обработке ссылок c экранированным нулевым символом

20.09.2015 11:43

В Chrome, Chromium, Opera и других браузерах на основе кода Chromium выявлена проблема, позволяющая инициировать крах браузера при открытии ссылок, содержащих экранированное представление нулевого символа. Крах наблюдается при открытии ссылок с %%300 или %%30%30 в URL, например, "http://a.com/%%300", "file:///%%300", http://a.com/%%30%30" и т.п. При наведении курсора на проблемную ссылку закрывается лишь текущая вкладка, но клик на ссылке приводит к закрытию браузера целиком.

Прямое использование "%00" в ссылках запрещено и вырезается на этапе разбора ссылки. Но косвенная передача нулевого кода оказалась возможной. При обработке ссылки последовательности "%%300" (%+%30+0) и "%%30%30" преобразуются в "%00" ("http://a.com/%00"), после чего передаются в вызов GURLToDatabaseURL(), внутри которого также вызывается функция ReplaceComponents(), предназначенная для удаления из ссылки информации логине и пароле. Внутри ReplaceComponents() дополнительно производится вторичная распаковка экранированных последовательностей, в результате которой "%00" превращается в символ с нулевым кодом. При возвращении в функцию GURLToDatabaseURL() выполняется вызов .spec(), который считает, что на вход передаётся корректный URL, но так как конец строки был сдвинут URL оказывается повреждён, что приводит к срабатыванию макроса DCHECK() и краху браузера.

Дополнение: С использованием ошибки в Chrome подготовлена простая браузерная игра в которой предлагается пройти мышью лабиринт не задев стен (при касании курсором стены - крах).

  1. Главная ссылка к новости (http://andrisatteka.blogspot.r...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42998-chrome
Ключевые слова: chrome
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (57) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:12, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Рeшeтo!

    А что с браузерами на чистом Webkit, таких как Midori?

     
     
  • 2.4, Аноним (-), 12:29, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +21 +/
    В Midori легче перечислить от чего он не падает, чем то что приводит к падению...
     
     
  • 3.26, Аноним (-), 16:48, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > В Midori легче перечислить от чего он не падает, чем то что приводит к падению...

    Ну да, авторы мидори, surf, uzbl, vimb, xombrero и остальной туевой хучи браузеров на вебкит-гтк тайком патчат движки и координируются, на каких сайтах и от чего нужно падать.
    А гнумовцы тут совсем-совсем не причем - это все рукопопые авторы этой маргинальщины и/или вебкита!1

     
     
  • 4.28, Аноним (-), 17:23, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В том то и дело... проблемы движка webkit - это такая редкость что удостоилась упоминания в новостях. А недобраузеры падают на каждом втором сайте.
     
     
  • 5.29, Аноним (-), 17:52, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > проблемы движка webkit - это такая редкость

    Вы не поверите, но сам по себе движок без обертки использовать будет таки сложно.
    А вот почему уже трех-строчная обертка над webkit-gtk падает как "полноценный недобраузер", в то время, как такая же обертка над webkit-qt живет и здравствует ... тайна сие великая есть.

     
  • 5.34, Аноним (-), 20:10, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там тоже есть проблемы, просто он них не так сильно "кричат":)

    То что нашли и исправили это хорошо.

    А вот там, где вовсе ничего не находят вызывает скорее подозрение.

     
  • 5.39, iPony (?), 08:00, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вообще то webkit и blink (chromium) это разные вещи
     
  • 2.5, redix (?), 12:33, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Рeшeтo!
    > А что с браузерами на чистом Webkit, таких как Midori?

    При переходе по кривой ссылке, просто пишет QRATOR HTTP 400. Точно так же ведут себя Seamonkey и Palemoon. Firefox-ом не пользуюсь.

     

  • 1.2, Аноним (-), 12:17, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Safari из El Capitan не падает.
     
     
  • 2.27, Аноним (-), 16:59, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Safari из El Capitan не падает.
    > Safari

    КО, пишуший из под Капитана?
    Вы забыли упомянуть, что Konqueror тоже не падает ...

     

  • 1.3, Shtirliz72 (ok), 12:26, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Странно, не падает. Chrome 45.
     
     
  • 2.6, б.б. (?), 12:41, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    напиши разработчикам, пусть патч пришлют ;)
     
  • 2.44, анон (?), 12:13, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кавычки не забудь. В них вся соль
     

  • 1.7, Аноним (-), 12:50, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Google Chrome 45.0.2454.93 m под Windows 8.1 Pro x64 рухнул как миленький.
     
     
  • 2.21, Sluggard (ok), 15:56, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Странно, что он тебе ещё систему в BSOD не утащил.
     
     
  • 3.43, iPony (?), 11:58, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Шутки шутками, но ситуация 'из-за браузера упала ОС/или её компоненты' наиболее характерна для linux систем ("firefox xorg crash" в поиск).
    Но посмеяться над "глючностью" венды всегда же приятнее...
     
     
  • 4.48, Sluggard (ok), 14:54, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > "firefox xorg crash"

    Батюшки, иксы упали, горе-то какое. Достаточно переключиться в соседний tty, залогиниться, и сделать systemctl restart sddm (sddm — в моём конкретном случае, а там у кого что: kdm, gdm и прочие), не ребутая машину. А ещё в Linux SysRq нормально работает, на совсем крайний случай. ;)

    > Но посмеяться над "глючностью" венды всегда же приятнее...

    Видишь, даже ты понял. )

     
     
  • 5.49, Аноним (-), 16:15, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Батюшки, иксы упали, горе-то какое.

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

     
     
  • 6.50, Sluggard (ok), 16:30, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > разница между падением иксов и падением всей системы не столь существенная

    Сохраняй изменения автоматически, через заданный промежуток. Меня падение иксов даже во время установки обновлений через гуёвый аппер не особо пугает, ибо пакетный менеджер и консолька — они наше всё.
    А про разницу — файловой системе после ребута кнопкой расскажешь. Ну или тем же обновлениям. )

    P.S. Совсем что-то скучно влезать в вендосрач. А раньше нравилось...

     
  • 5.53, iPony (?), 17:51, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Просто двойные стандарты:
    Если бы было что-то подобное на венде (там на самом деле тоже иногда встречается подобное с браузерами, но с меньшими последствиями, ибо всё само придёт в норму - "драйвер не отвечал бла-бла и был востановлен")
    Только вот в случае вынды для тебя это 'кошмар и ужас, какую кривость индусы наделали'
    А в случае линукса 'нормально, подумаешь зайти в tty и поперезапускать демонов - это даже мне удовольствие доставляет'
    PS: вот такой вот фанатизм
     
     
  • 6.56, Sluggard (ok), 18:38, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто двойные стандарты:
    > Если бы было что-то подобное на венде (там на самом деле тоже
    > иногда встречается подобное с браузерами, но с меньшими последствиями, ибо всё
    > само придёт в норму - "драйвер не отвечал бла-бла и был
    > востановлен")
    > Только вот в случае вынды для тебя это 'кошмар и ужас, какую
    > кривость индусы наделали'
    > А в случае линукса 'нормально, подумаешь зайти в tty и поперезапускать демонов
    > - это даже мне удовольствие доставляет'
    > PS: вот такой вот фанатизм

    Начиналось всё с подколки о BSoD, вообще-то. Давно винда после него в норму автоматом приходить научилась? =)

     
     
  • 7.64, maniaq (?), 17:42, 24/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Начиналось всё с подколки о BSoD, вообще-то. Давно винда после него в
    > норму автоматом приходить научилась? =)

    А должна? При настроенном автоматическом ребуте приходит в себя а толку? Вот если бы при этом делался скриншот BSODа, было бы интересно, а так ну увидишь ты в логах "the previous shutdown was unexpected", будет счастье?

     
  • 5.60, admin (??), 08:18, 22/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Достаточно переключиться в соседний tty...

    В нормальных дистрибутивах иксы сами перезапустятся.

     
     
  • 6.61, Sluggard (ok), 11:50, 22/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > В нормальных дистрибутивах иксы сами перезапустятся.

    Ну так они могут и повиснуть, не падая. А так да, перезапустятся до *dm и экрана логина.

     
  • 5.62, тигар (ok), 16:00, 23/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это кривое поделие рукопопов под названием "сусе" приучило тебя сохраняться каждую минуту? так ты, родной, не особо-то от виндузядников и ушел
     
     
  • 6.63, Sluggard (ok), 16:02, 23/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > это кривое поделие рукопопов под названием "сусе" приучило тебя сохраняться каждую минуту?

    Каждые семь секунд, сразу в три разных места.

    > так ты, родной, не особо-то от виндузядников и ушел

    Не надо примазываться к числу моих родственников, пупс. ;)

     
  • 4.54, mma (?), 17:55, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >"firefox xorg crash" в поиск

    Ну это больше вопрос к драйверам видюхи

     
     
  • 5.57, Sluggard (ok), 18:40, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну это больше вопрос к драйверам видюхи

    Или к Месе. Или к самим Иксам. Им, порой, никакие Огнелисы не нужны, чтоб грохнуться. А Попов так и не запилил обещанную защиту от «грохинга». Печально. =(

     
     
  • 6.65, arisu (ok), 23:28, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    марсианцы какие‐то собрались. по пол‐года иксы работают и не падают. кино смотрю, в игры играю, по сетке к ним стучусь — не падают, хоть ты плачь!
     
     
  • 7.66, Sluggard (ok), 23:29, 30/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > марсианцы какие‐то собрались. по пол‐года иксы работают и не падают. кино смотрю,
    > в игры играю, по сетке к ним стучусь — не падают,
    > хоть ты плачь!

    Ну если у тебя иксы работают по полгода без перерыва, я так понимаю, что сидишь ты по полгода на одном ядре и одних иксах. Конечно, без применения обновлений ничего не будет. ))

     

  • 1.8, Аноним (-), 13:03, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Версия 45.0.2454.93 (64-bit)

    на линуксе рухнул

     
  • 1.9, Aleks Revo (ok), 13:19, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    То есть баг не в нулевом символе, а в том, что функция GURLToDatabaseURL() обрабатывает ссылку повторно, что ведёт не только к этому феерическому падению, но и к ряду побочных эффектов не таких заметных.
     
  • 1.10, Аноним (-), 13:21, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Firefox на Linux-е стоит и не падает :)
     
  • 1.11, Аноним (-), 13:21, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Ошибки за 300?
     
  • 1.12, vertebrate (?), 13:28, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    44.0.2403.89 не падает
     
  • 1.13, asavah (ok), 13:33, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Гы, рухнул как миленький и на лине и на вантузе
     
  • 1.14, Alex (??), 13:35, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Угу, и опера 32 на движке от оного тоже рушится.
     
  • 1.15, Ordu (ok), 13:51, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > При наведении курсора на проблемную ссылку закрывается
    > лишь текущая вкладка, но клик на ссылке приводит к закрытию
    > браузера целиком.

    Если текущая вкладка закрывается при наведении курсора на ссылку, то как можно кликнуть по этой ссылке?

     
     
  • 2.22, Аноним (-), 16:18, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Если текущая вкладка закрывается при наведении курсора на ссылку, то как можно
    > кликнуть по этой ссылке?

    Можно открыть в адресной строке.

    PS. Эксплоит: document.location="http://a.com/%%300";

     
     
  • 3.32, Ordu (ok), 18:41, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Можно открыть в адресной строке.

    Может тогда следует заменить в новости слова "клик по ссылке" на "переход по ссылке"?

     

  • 1.16, Аноним (-), 14:08, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Ждем Servo на RUST, с его компонентами!
     
  • 1.17, Аноним (-), 14:12, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    FYI, FF 40, не падая, правильно обрабатывает подобный случай:

    http://biome3d.com/%%30%30

    "For request 'GET /%%30%30' [Malformed escape pair at index 1: /%%30%30]"

     
     
  • 2.30, KOT040188 (?), 18:11, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Chromium 44.0.2403.89. При наведении страница закрывается и пишет " он улетел, но обещал вернуться…". Вставка в адресную строку - не происходит.
     
     
  • 3.31, KOT040188 (?), 18:12, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Лиса рулит.
     
  • 2.33, redix (?), 18:44, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > FYI, FF 40, не падая, правильно обрабатывает подобный случай:
    > http://biome3d.com/%%30%30
    > "For request 'GET /%%30%30' [Malformed escape pair at index 1: /%%30%30]"

    При наведении курсора, выскакивают "опаньки"!  :))

     

  • 1.19, Kodir (ok), 14:30, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Свежайшая Opera 32.0.1948.25 под вантуз - свалилась как дистрофик под сапогом деда.
     
     
  • 2.42, анонимус (??), 10:06, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да что вы говорите??!!! Это же ко-ко-копера! Не может быть! Вы точно проверяли?!!
     

  • 1.20, Аноним (-), 15:38, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На gmail при упоминании данных сылок в письме  хром  закрывал страницу.

    Вчера проверял.

     
  • 1.23, Аноним (-), 16:27, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    27 хромиум просто закрыл страницу с ошибкой. Другие вкладки и и сам браузер не падают.
     
  • 1.24, 0eviy (ok), 16:29, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    about:blank
     
     
  • 2.25, 0eviy (ok), 16:32, 20/09/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вообще то да, если файл создать с сылкой, то улетает при открытии файла
     

  • 1.35, Аноним (-), 21:16, 20/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А вот firefox, хоть и с гораздо большим кол-вом всяких ляпов в последнее время, но вот чтобы так...
     
     
  • 2.38, iPony (?), 07:49, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > чтобы так...

    А что так? CVE-2015-4495 уже за месяц забыл?
    А тут то чего. Эксплуатации как я понимаю нет как и особых неудобств, просто тупо падает одна вкладка.

     

  • 1.36, asavah (ok), 02:31, 21/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    ахахха игру запилили по мотивам бага
    https://github.com/szhu/3030
     
     
  • 2.37, Ytch (ok), 04:29, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > ахахха игру запилили по мотивам бага

    pale moon - для читеров! ))

     

  • 1.40, Аноним (-), 09:39, 21/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    хотел на vivaldi проверить - так он крашиться стал уже при запуске, без всяких ссылок
     
     
  • 2.45, Товарищ Майор (?), 12:43, 21/09/2015 [^] [^^] [^^^] [ответить]  
  • +/
    1.0.279.3 проверил, работает.
     

  • 1.41, Аноним (-), 09:51, 21/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Эй, Chrome, %%150+150?
     
  • 1.46, Аноним (-), 14:46, 21/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    подумаешь. бага из разряда "когда я делаю рукой вот так, у меня покалывает вот здесь - а вы не делайте"
     
  • 1.47, 400 (?), 14:52, 21/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Дополнение: С использованием ошибки в Chrome подготовлена простая браузерная игра в которой предлагается пройти мышью лабиринт не задев стен (при касании курсором стены - крах).

    В мидори и купзилле поиграть не получатся :( Придется ставить хром :)))

     
  • 1.58, Аноним (-), 19:14, 21/09/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    У меня он периодически зависает и падает при заполнении полей ввода на сайтах. Отзывы в интернете показывают, что такой баг есть не только у меня, но выявить какую-нибудь закономерность в его появлении пока ни у кого не удалось.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру